domain-name-system – 将所有子域重定向到子文件夹

domain-name-system – 将所有子域重定向到子文件夹,第1张

概述我想添加一条规则,以便将所有子域重定向到子文件夹.例如: app1.example.com -> example.com/app1app2.example.com -> example.com/app2something.example.com -> example.com/something 所有子域只有一个级别. 问题 >哪些DNS提供商允许我这样做? >这些替代方案是否可行? >将它们全 我想添加一条规则,以便将所有子域重定向到子文件夹.例如:
app1.example.com -> example.com/app1app2.example.com -> example.com/app2something.example.com -> example.com/something

所有子域只有一个级别.

问题

>哪些DNS提供商允许我这样做?
>这些替代方案是否可行?

>将它们全部重定向到具有静态IP的特殊webapp,该IP重定向到正确的子文件夹.我如何知道他们来自哪个子域?
>在需要时以编程方式创建每个规则.哪些DNS提供商具有API访问权限以添加规则?我认为亚马逊Route 53可能就是这里的答案.

解决方法@H_419_17@

Which DNS provIDers allow me to do this?

所有有能力的人.它甚至不需要是特定于DNS的提供,大多数好的主机也会帮助您.有两个阶段:

>为* .example.com添加了DNS条目
>主机的Web服务器(例如Apache)设置为通过将其路由到example.com的VirtualHost来响应* .example.com.

然后,在最后,添加一个.htaccess条目,该条目使用RewriteRule来捕获每个子域,并使用http_HOST变量将其重定向到文件夹.

未经测试,但是这样的事情:

RewriteEngine onRewriteCond   %{http_HOST}                 ^[^.]+\.example\.com$RewriteRule   ^(.+)                        %{http_HOST}          [C]RewriteRule   ^([^.]+)\.example\.com(.*)   http://example.com//

假设用户请求app1.example.com/bob.

第2行

这将捕获http_HOST中的app1.example.com – 它将与RewriteCond匹配.

3号线

通常,Apache只会通过/ bob来检查RewriteRule.要使用子域,我们通过强制下一个匹配规则来利用链接

${http_HOST}|           ^ /bob^ app1.example.com

第4行

最终的RewriteRule现在与app1.example.com/bob匹配,而不仅仅是/ bob.因此,它可以具有“完整”正则表达式以匹配此子域和路径,并执行所需的重定向.

如果您不想要此功能,则可以简化规则.

Are these alternatives feasible? Redirect them all to a special webapp
with a static IP that redirects to the proper subfolder. How can I
kNow from which subdomain they came from?

没有确定的方法可以做到这一点.你可以试试http Referer,但它并不总是由所有浏览器发送,有些防火墙会删除标题等.

Programatically create each rule when I need it. Which DNS provIDers
have API access to add rules? I think Amazon Route 53 might be the
answer here.

这实际上会导致更复杂的解决方案,所以我不推荐它.它还会造成延迟:DNS缓存需要更新,某些访问者无法立即使用子域,直到他们这样做.至少根据我的建议,他们能够立即开始.

总结

以上是内存溢出为你收集整理的domain-name-system – 将所有子域重定向到子文件夹全部内容,希望文章能够帮你解决domain-name-system – 将所有子域重定向到子文件夹所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存