我们正在将当前网站从多域配置切换为单个域,多文件夹格式。即。
.co.uk/<uri>
正在变为.com/en-gb/<uri>
.com/<uri>
正在变为.com/en-us/<uri>
我希望我能够通过一些精心设计的.htaccess规则来处理这个问题,但我不确定我需要实现的代码。你能帮忙吗?
(PS,我把实际的域名留空了,因为我们只需要测试TDL,而不是整个域 - 尽管原始域需要保持不变,只有TLD发生变化 - 即{ {1}}会重定向到whatever.co.uk
,whatever.com/en-gb/
会重定向到whatever2.co.uk
,而whatever2.com/en-gb/
会重定向到whatever.com
)
答案 0 :(得分:2)
将以下指令添加到.htaccess:
RewriteCond %{HTTP_HOST} (.+)\.co\.uk$
RewriteRule (.*) http://%1.com/en-gb/$1 [R=301,L,QSA]
RewriteCond %{HTTP_HOST} \.com$
RewriteCond %{REQUEST_URI} !^/(en-us|en-gb)/
RewriteRule (.*) /en-us/$1 [R=301,L,QSA]
如果您有这么多域名TLD,您可能希望使用RewriteMap来避免重复每个TLD的第一条规则,RewriteMap会将TLD映射到Uri字符串(例如:.co.uk到en-gb) ,