RewriteRule只能在一个方向上工作吗?

时间:2013-09-21 12:36:56

标签: apache .htaccess mod-rewrite subdomain plesk

此重写规则有效。

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

此重写规则不

RewriteCond %{HTTP_HOST} !^www\.example\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [R,L,QSA]

.co.uk是Plesk 11中.com的别名。它位于Apache2(API版本20051115)上。它也有混合nginx,但我不知道确切的细节,因为它是在共享主机上。

它已经工作了多年,但是主机已经改变了服务器配置(没有告诉,grrr!)并且破坏了重定向。 Firefox告诉我“页面没有正确重定向”。

1 个答案:

答案 0 :(得分:0)

用以下规则替换您的规则:

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

RewriteCond %{HTTP_HOST} (^|\.)example\.co\.uk$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [R,L]