2011-10-13 62 views
2

我在IIS中重写某些内容时遇到了一些问题在IIS中重写子域名

这是我想要实现的。

我们有一堆都需要一个子域的客户端。例如

http://clientA.mysite.com需要被重写,以http://mysite.com/clientArea/?clientID=1234

然后,所有的内容必须rewrriten到http://mysite.com/clientArea/XXX

因此,例如,如果有人请求http://clientA.mysite.com/example.css,应改写为http://mysite.com/clientArea/example.css

我不能为了我的生活得到这个工作的权利。

我想我必须为此在2条规则。我想我的第一个规则kindof工作(页面看起来失衡,因为它不能得到的JS文件或CSS文件,使其右看看)

这是我第一次改写http://clientA.mysite.comhttp://mysite.com/clientArea/?clientID=1234

<rule name="Rewrite Subdomain" stopProcessing="true"> 
    <match url="()" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^(?!www)clientA\.mysite\.com$" /> 
    </conditions> 
    <action type="Rewrite" url="clientArea/?clientID=1234" appendQueryString="true" logRewrittenUrl="true" /> 
</rule> 
规则

我的第二个规则,但是,我不能去工作,所以任何帮助,这将是巨大的

<rule name="Rewrite Everything Else after subdomain"> 
    <match url="(.*)" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^(?!www)clientA\.mysite\.com$" /> 
    </conditions> 
    <action type="Rewrite" url="{R:0}" /> 
</rule> 

请求之类的东西http://clientA.mysite.com/example.js返回404错误。

感谢您的时间, 凯尔

回答

-1

您使用入站和出站rewritting规则的组合与应用程序请求路由模块一起。

的入站规则代理的子文件夹的子域的内容。出站规则检查响应并用子文件夹路径替换响应中的子域的所有实例。

0

如果你已经为你的网站,致力于IP号码,你可以添加空http绑定到你的网站在IIS(右键点击你的网站在IIS>编辑绑定>添加)。然后在您的DNS配置中添加值为'*'的DNS'A'记录。因此,您的IP每次呼叫都将由您的网站维护。