.htaccess - 将子域重定向到主域(仅当NOT xyz.php时)

时间:2014-06-04 09:21:05

标签: apache .htaccess mod-rewrite redirect conditional

您好我想重定向以下sobdomain:

subdomain.domain.com domain.com

仅当地址/脚本不是subdomain.domain.com/xyz.php

一些例子:

subdomain.domain.com/index.php - > 301重定向到domain.com/index.php

subdomain.domain.com/123.php - > 301重定向到domain.com/123.php

subdomain.domain.com/xyz.php(无重定向)

我尝试使用以下代码重定向,但我正在努力解决这个问题。重定向本身有效......但是对于所有页面:

RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.domain\.co.uk$ [NC] 
RewriteRule !^subdomain.domain.co.uk/xyz.php$ domain.co.uk%{REQUEST_URI} [NE,R=301,L]

1 个答案:

答案 0 :(得分:1)

最后,我找到了一个有效的解决方案。如果有人在同一个问题上挣扎,你可以尝试这个.htaccess代码:

RewriteCond %{HTTP_HOST} ^(www\.)?subdomain\.domain\.com$ [NC]
RewriteRule !^xyz\.php($|/) http://www.domain.com%{REQUEST_URI} [NE,R=301,L]

第一行解决子域(不区分大小写) 第二行将指定的xyz.php除外的所有站点重定向到主域(301)