2013-03-05 97 views
3

我有一个网站有两个域名。我希望当域X被访问时(不管路径是什么....../foo/bar /,root或其他),浏览器应该重定向到一个特定的URL。mod_rewrite如果使用域X,则重定向到特定的URL?

所以:

domainX.com -> domainX.com 
domainY.com -> domainX.com/some/path 

以下有点儿八九不离十工作,但它只有这么www.domainY.comdomainY.com/some/path匹配反对domainY.com,不能正常工作。

RewriteCond %{HTTP_HOST} ^domainY\.com 
RewriteRule ^(.*)$ http://domainX\.com/some/path [L] 

虽然之前它必须接受有和没有www。有任何想法吗?

回答

5

可以扩展的正则表达式HTTP_HOST

RewriteCond %{HTTP_HOST} ^(?:www\.)?domainY\.com$ 
RewriteRule .* http://domainX.com/some/path [L] 

这是一个改写。如果你想重定向客户端,你必须在一切工作,因为它应该,你可以用R=301取代R添加R标志

RewriteRule .* http://domainX.com/some/path [R,L] 

从不R=301测试。

+0

现在WWW也有效,但是如果我在网域后面放了某些东西(例如'domainY.com/some/path',它不起作用,但这并不重要,但我可以没有它,谢谢! – qwerty 2013-03-05 09:59:42

+0

@ qwerty这很奇怪,它应该可以使用或不使用额外的URL路径,您是否有额外的规则?或者您会收到一些错误信息? – 2013-03-05 10:17:30

+0

我确实有额外的规则,他们在OP中,但我编辑了它们,因为我认为它是无关紧要的,请看这里:http://pastebin.com/Xh0u1AsA现在我想到了,我应该也可能把我的规则放在之内。其他规则可能导致它不起作用吗? – qwerty 2013-03-05 10:22:04

相关问题