RewriteCond 和 www 记录

RewriteCond 和 www 记录

在我的 httpd.ini 中,我将所有流量从“example.co.uk”重定向到“www.example.co.uk”,下面的方法可以正常工作:

RewriteCond %HTTPS off 
RewriteCond Host: (?!^www.example.co.uk)(.+) 
RewriteRule /(.*) http\://www.example.co.uk/$2 [I,RP]

我有一堆微型网站也使用这个网站,比如“www.foobar.co.uk”,设置在 IIS 6 的主机头中。根据上述规则,“www.foobar.co.uk”最终会变成“www.example.co.uk”!

是否有针对该请求的 RewriteCond,以确保该请求是针对“example.co.uk”的,不会捕获微型网站并重写这些网站?或者更好的是,我可以接受任何请求,无论是“example.co.uk”还是“foobar.co.uk”,然后在其前面加上 www?

感谢您的帮助。

答案1

我使用多个 URL(和 Andrews 的帮助)完成了这项工作,如下所示。

RewriteCond %HTTPS off 
RewriteCond Host: (?!^www.+)(.+) 
RewriteRule /(.*) http\://www.$1/$2 [I,RP]

答案2

尝试使用以下方法:

RewriteCond %HTTPS off 
RewriteCond Host: !^www\..+ 
RewriteCond Host: ^(example|foobar)\.co\.uk
RewriteRule /(.*) http\://www.$1.co.uk/$2 [I,RP]

相关内容