2011-11-18 147 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

相關問題