根据请求标头将一个域转发到另一个域

时间:2009-11-07 07:35:30

标签: cgi dns forwarding

我要求我检查请求标头,并根据我要将传入的请求转发到我公司的相应子域。

例如:

请求标头A即将到来,它总是进入a.domain.com(无论请求来到a.domain.com或b.domain.com)

同样请求标题B即将到来,它始终会转到b.domain.com。

虽然我可以通过更改我的应用程序(检查其中的请求标头)然后转发请求来执行此操作但我想要而不是请求到达应用程序服务器,它应该由Web服务器在第一个处理。

是否有可用的东西(某种方式像CGI)可以处理IIS和Apache,因为我的公司有子域托管这两个应用程序。

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:1)

在Apache中,您可以使用mod_rewrite将请求定向到另一个域,如下所示:

rewriteEngine on
rewriteBase /
rewriteCond %{HTTP_HOST} ^A$
rewriteRule ^(.*) http://a.domain.com/$1 [L,R=301]

这需要通过将其放在相应目录或站点配置元素中的.htaccess文件中来适当地确定范围。

IIS(取决于版本)也支持重写模块。对于IIS 6,您可以查看IIRF,其语法类似于mod_rewrite。对于IIS 7,请查看具有导入mod_rewrite规则的简单GUI的URL Rewrite Module