我有多个TLD(domainX.com,domainY.net,...)指向同一个文件夹。在这个文件夹中,我想添加一个.htaccess文件,将不是domainY.com的所有www和非www URL重定向到domainY.com。
然而,这里有一个转折点。我有一些子域名:alfa.domainY.com和beta.domainY.com以及gamma.domainY.com设置,在我的所有测试中都会重定向到domainY.com。
任何人都有机会在这里给我一些成功的代码吗?
编辑:也许还添加一些#Comments
,我注意到这里的大多数答案都缺乏,我认为这意味着其中一些不能被重用,因为人们不知道他们做了什么。我之后也可以自己添加。
答案 0 :(得分:1)
尝试将这些规则添加到文档根目录的htaccess文件中:
RewriteEngine On
RewriteCond %{HTTP_HOST} !domainY\.net$ [NC]
RewriteRule ^(.*)$ http://domainY.net/$1 [L,R=301]
对于任何 alpha.domainY.net ,与主机匹配的表达式将失败,因为它只与TLD(.net)和域(domainY)匹配。
第一行打开重写引擎。
第二行,即条件,是一个真/假表达式,应用于紧随其后的规则。在这种情况下,它会检查请求的Host:
标头,如果以 domainY.net
结尾,则由于前面的!
条件失败。 / p>
第三行是规则,URI用于匹配基本匹配所有内容的模式^(.*)$
,并通过括号捕获。然后下一位是目标。如果规则匹配,由于模式匹配所有内容,它会执行,然后应用目标,在这种情况下,它会将浏览器重定向到domainY.net
并通过正则表达式反向引用传递相同的URI {{1 }}