.htaccess mod_rewrite停止从子域重定向到主域

时间:2016-04-12 11:22:41

标签: php apache .htaccess redirect mod-rewrite

这是我当前的.htaccess文件代码

RewriteEngine on
RewriteBase   /xml-sitemaps/enternal-generator
RewriteRule ^sitemap.xml$ sitemap.php [L]
RewriteRule   ^sitemap-(.*?)-(.*?)\.xml$      sitemap.php?type=$1&page=$2 [L]

当我打开网址http://heartslovefree.com/xml-sitemaps/enternal-generator/sitemap.xml时,它工作正常。

但是当我用我的子域打开网站时,它实际上指向同一目录http://zh-cn.heartslovefree.com/xml-sitemaps/enternal-generator/sitemap.xml,它将我重定向到主域。

如何停止重定向?如果我删除.htaccess文件重定向停止,但我的URL重写sitemap.xml到sitemap.php也消失了。

1 个答案:

答案 0 :(得分:0)

您可以使用RewriteCondition从规则中排除子域名,请尝试:

    RewriteEngine on
    RewriteBase   /xml-sitemaps/enternal-generator
RewriteCond %{HTTP_HOST} !^sub\.domain\.com$
    RewriteRule ^sitemap.xml$ sitemap.php [L]
RewriteCond %{HTTP_HOST} !^sub\.domain\.com$
    RewriteRule   ^sitemap-(.*?)-(.*?)\.xml$      sitemap.php?type=$1&page=$2 [L]