2012-12-18 119 views
1

我在.htaccess中有這些行。現在.htaccess重寫規則錯誤

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

,我想補充以下到的.htaccess,這樣我就可以因此,所有用戶重定向到http://www.mydomain.com

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

,我只是在我現有的.htaccess添加上面的代碼文件。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} ^mydomain.com 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] 
RewriteRule . index.php 

但是,它沒有像我期望的那樣工作。

請教我如何在這種情況下寫作。

非常感謝!

+0

「但是,它沒有像我期望的那樣工作。」 ---你期望什麼,它的工作原理是什麼? – zerkms

+0

將訪問http://mydomain.com的用戶重定向到http:/www.mydomain.com作品。 – crzyonez777

+0

RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。 index.php 這些行不起作用。 – crzyonez777

回答

2

您應該首先重定向到www子域,然後將請求轉發到您的index.php文件。試試這個:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{HTTP_HOST} !^(www\.).+$ [NC] 
    RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 
+1

非常感謝!有效! – crzyonez777

+0

謝謝!我查過了! – crzyonez777