从301重定向中排除子域

时间:2015-09-03 12:22:08

标签: apache .htaccess mod-rewrite redirect

我试图从所有301重定向中排除halcyondaysws子域但无法管理它。我试过这样的话:

RewriteCond %{HTTP_HOST} ^halcyondaysws\.maindomain\.net
RewriteRule .* - [S=7]
Redirect 301 /enamels.html http://www.halcyondays.co.uk/enamels/christening-nursery.html

和这个

RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com$ [NC]
RewriteRule /enamels.html http://www.maindomain.co.uk/enamels/christening-nursery.html [L,R=301]

但它不起作用。我们只使用一个.htaccess文件。

1 个答案:

答案 0 :(得分:2)

排除特定域,请使用此基于否定的条件:

RewriteCond %{HTTP_HOST} !^halcyondaysws\.maindomain\.net$ [NC]
RewriteRule ^enamels\.html$ http://www.maindomain.co.uk/enamels/christening-nursery.html [L,R=301,NC]

在清除浏览器缓存后进行测试。

请理解这并不是真正排除子目录。由于您的规则定位于/enamels.html,因此无需排除子目录。