在我的 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]