将旧的.co.uk域名重定向到新的.uk ccTLD

时间:2014-06-11 10:48:01

标签: regex apache .htaccess mod-rewrite

将我的整个网站从旧的example.co.uk域重定向到我的新example.uk域(包括任何子域)的正确方法是什么?

2 个答案:

答案 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]