我在IIS中重写一些东西时遇到了一些麻烦
这就是我想要实现的目标。
我们有一堆客户都需要一个子域。例如
需要将http://clientA.mysite.com重写为http://mysite.com/clientArea/?clientID=1234
然后,所有内容都需要重写为http://mysite.com/clientArea/XXX
例如,如果有人请求http://clientA.mysite.com/example.css,则应该重写为http://mysite.com/clientArea/example.css
我无论如何都不能让它正常工作。
我想我必须在两条规则中做到这一点。我想我有第一条工作规则(页面看起来很乱,因为它不能得到JS文件或CSS文件来使它看起来正确)
以下是我将http://clientA.mysite.com重写为http://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错误。
谢谢你抽出时间来,凯尔
发布于 2013-01-28 22:21:41
如果您的站点有专用的IP号,您可以在IIS中为您的站点添加空的http绑定(在IIS >编辑绑定>添加中右键单击您的站点)。然后在您的DNS配置中添加值为:*的DNS 'A‘记录。因此,对您IP的每个呼叫都将由您的站点进行维护。
发布于 2012-05-24 05:42:49
将入站和出站重写规则与应用程序请求路由模块结合使用。
入站规则将子文件夹代理到子域内容。出站规则检查响应,并将响应中的子域的所有实例替换为您的子文件夹路径。
https://stackoverflow.com/questions/7757779
复制相似问题