我有多个TLD (domainX.com,domainY.net,.)指向同一个文件夹。在这个文件夹中,我想添加一个.htaccess文件,将所有不是domainY.com的www和非www重定向到domainY.com。
然而,这里有一个转折。我有一些子域: alfa.domainY.com、beta.domainY.com和gamma.domainY.com设置,在我所有的测试中,它们都会重定向到domainY.com。
有没有人能给我一些成功的代码?
编辑:也许还添加了一些#Comments,我注意到这里的大多数答案都没有,我认为这意味着它们中的一些不能被重用,因为人们不知道自己在做什么。之后我也可以自己加上这个。
发布于 2013-08-30 20:47:55
尝试将这些规则添加到文档根的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结尾,则条件失败,因为前面有!。
第三行是规则,URI用于匹配模式^(.*)$,该模式基本上匹配所有内容,并通过括号捕获。然后下一位是目标。如果规则匹配(因为模式匹配所有内容),那么就应用目标,在本例中,它将浏览器重定向到domainY.net,并通过regex反向引用$1传递相同的URI。
https://stackoverflow.com/questions/18540196
复制相似问题