将我的整个网站从旧的example.co.uk域重定向到我的新example.uk域(包括任何子域)的正确方法是什么?
即
答案 0 :(得分:1)
我提出的解决方案如下(但我会寻找更好的建议):
RewriteEngine On
RewriteBase /
# Rule for HTTP traffic
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.+)\.co\.uk$ [NC]
RewriteRule ^ http://%1.uk%{REQUEST_URI} [L,R=301,NE]
# Rule for HTTPS traffic
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(.+)\.co\.uk$ [NC]
RewriteRule ^ https://%1.uk%{REQUEST_URI} [L,R=301,NE]
这应该将.co.uk
替换为.uk
,但在其根网址目录中具有这些.htaccess
规则的任何域中都只有{{1}}。
答案 1 :(得分:1)
你建议的规则应该有效。我正在回答你想要将你的2条规则合并为一条:
RewriteCond %{HTTPS}s::%{HTTP_HOST} ^(?:on(s)|offs)::(.+?)\.co\.uk$ [NC]
RewriteRule ^ http%1://%2.uk%{REQUEST_URI} [L,R=301,NE]