抱歉,我不确定如何正确说出标题。
我有几个域名,我想使用.htaccess 301重定向到我的主域名。
这就是我正在做的事情:
RewriteCond %{HTTP_HOST} example.co.za [NC]
RewriteRule ^(.*)$ http://primarydomain.co.za/$1 [L,R=301]
我遇到了将.co域名重定向到类似.co.za域名的问题,例如:
// this causes infinite loop
RewriteCond %{HTTP_HOST} example.co [NC]
RewriteRule ^(.*)$ http://example.co.za/$1 [L,R=301]
我知道为什么会这样,但我不知道如何写这条规则或其条件。
答案 0 :(得分:1)
尝试这样,
RewriteCond %{HTTP_HOST} ^example.co$ [NC]
RewriteRule ^ http://example.co.za/$1 [L,R=301]
答案 1 :(得分:1)
使用模式锚:^
和$
来标记字符串的开头或结尾:
RewriteCond %{HTTP_HOST} ^example\.co$ [NC]
RewriteRule ^ http://example.co.za%{REQUEST_URI} [L,R=301]
答案 2 :(得分:0)
您可以使用否定条件并避免正则表达式:
# if host is not example.co.za
RewriteCond %{HTTP_HOST} !=example.co.za
# then redirect to example.co.za
RewriteRule ^ http://example.co.za%{REQUEST_URI} [NE,L,R=301]