2011-11-18 143 views
1

这是我的虚拟主机文件夹:虚拟主机不会重定向

SeverName domain.com 
    ServerAlias www.domain.com 

    <Directory /> 
    Options -Indexes +FollowSymlinks 
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^[^\./]+\.[^\./]+$ [NC] 
    RewriteRule ^/(.*)$ http://www.domain.com/$1 [R=301,L] 
    RewriteBase/
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . archive.php [L] 
    </Directory> 

domain.com并不重定向到www.domain.com。

下面的部分工作正常,但将页面重定向到archive.php。

+1

这个问题可能更适合http://webmasters.stackexchange.com/。 –

+0

我认为在你的第一个RewriteCond中有一个输入错误:在匹配模式中,'{'应该是'['。 –

+0

好抓Joachim。但是,仍然没有解决我的问题。 – user1052448

回答

0

如果从匹配模式中删除/,规则是否工作?

RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 

如果请求是http://domain.com没有尾随/,那么当你与一家领先的/写的规则可能不匹配。或者,mod_rewrite可能会删除前导/,因为您在<Directory>上下文中有RewriteBase /。这就是RewriteRule docs(“什么是匹配?”框)似乎说。

+0

有或没​​有/似乎会导致不同的错误 – user1052448

相关问题