.htaccess 当一个域是另一个域的子集时重定向
.htaccess redirect when one domain is a subset of the other
抱歉,我不确定如何正确表达标题。
我有几个域,我想使用 .htaccess 301 重定向到我的主域。
这就是我正在做的事情:
RewriteCond %{HTTP_HOST} example.co.za [NC]
RewriteRule ^(.*)$ http://primarydomain.co.za/ [L,R=301]
我在将 .co 域重定向到类似的 .co.za 域时遇到问题,例如:
// this causes infinite loop
RewriteCond %{HTTP_HOST} example.co [NC]
RewriteRule ^(.*)$ http://example.co.za/ [L,R=301]
我明白为什么会这样,但我不知道如何编写该规则或其条件。
这样试试,
RewriteCond %{HTTP_HOST} ^example.co$ [NC]
RewriteRule ^ http://example.co.za/ [L,R=301]
使用模式锚点:^
和 $
分别标记字符串的开头或结尾:
RewriteCond %{HTTP_HOST} ^example\.co$ [NC]
RewriteRule ^ http://example.co.za%{REQUEST_URI} [L,R=301]
您可以使用否定条件并避免正则表达式:
# 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]
抱歉,我不确定如何正确表达标题。
我有几个域,我想使用 .htaccess 301 重定向到我的主域。
这就是我正在做的事情:
RewriteCond %{HTTP_HOST} example.co.za [NC]
RewriteRule ^(.*)$ http://primarydomain.co.za/ [L,R=301]
我在将 .co 域重定向到类似的 .co.za 域时遇到问题,例如:
// this causes infinite loop
RewriteCond %{HTTP_HOST} example.co [NC]
RewriteRule ^(.*)$ http://example.co.za/ [L,R=301]
我明白为什么会这样,但我不知道如何编写该规则或其条件。
这样试试,
RewriteCond %{HTTP_HOST} ^example.co$ [NC]
RewriteRule ^ http://example.co.za/ [L,R=301]
使用模式锚点:^
和 $
分别标记字符串的开头或结尾:
RewriteCond %{HTTP_HOST} ^example\.co$ [NC]
RewriteRule ^ http://example.co.za%{REQUEST_URI} [L,R=301]
您可以使用否定条件并避免正则表达式:
# 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]