1

我在 .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

但是,它不像我预期的那样工作。

请教我在这种情况下应该如何写作。

提前非常感谢!!

4

1 回答 1

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>
于 2012-12-18T03:28:15.063 回答