2014-03-01 41 views
0

我有我當前的htaccess爲:htaccess的 - 增加WWW和刪除的index.php

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?load=$1 [PT,L] 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

當我去到abc.com,它正確地重定向到www.abc.com這是很好的。

但是,如果我轉到abc.com/about - 它會重定向到abc.com/index.php?load=about,我希望它重定向到www.abc.com/about。

請幫忙。

回答

0

的規則更改爲了:

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)$ index.php?load=$1 [PT,L,QSA] 
+0

我沒太,但它並沒有解決問題。 – dang

+0

您需要在新的瀏覽器中進行測試,以避免301緩存問題。 – anubhava

0

要強制WWW:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example.com[nc] 
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 

要刪除的index.php:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L]