首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess:多个TLD到1个TLD(不包括子域)

.htaccess:多个TLD到1个TLD(不包括子域)
EN

Stack Overflow用户
提问于 2013-08-30 19:29:20
回答 1查看 116关注 0票数 1

我有多个TLD (domainX.com,domainY.net,.)指向同一个文件夹。在这个文件夹中,我想添加一个.htaccess文件,将所有不是domainY.com的www和非www重定向到domainY.com。

然而,这里有一个转折。我有一些子域: alfa.domainY.com、beta.domainY.com和gamma.domainY.com设置,在我所有的测试中,它们都会重定向到domainY.com。

有没有人能给我一些成功的代码?

编辑:也许还添加了一些#Comments,我注意到这里的大多数答案都没有,我认为这意味着它们中的一些不能被重用,因为人们不知道自己在做什么。之后我也可以自己加上这个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-30 20:47:55

尝试将这些规则添加到文档根的htaccess文件中:

代码语言:javascript
复制
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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18540196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档