我正在研究这个Seemingly simple redirect in IIS using web.config file,因为我有类似的情况,但那里提到的方法似乎并不适合我。
我在网站上有一个帮助部分,现在我想让它重定向到另一个地方。该网站的其余部分应保持不变,这意味着只有帮助部分/内容应该让用户访问另一个网站:
device.domain.com/help
device.domain.com/help/version
应该将请求转到
company.custhelp.com
但是例如device.domain.com/api应该仍然有用。这是我试过的。如果我在IIS中测试模式,它会说它会起作用。我错过了什么?
<system.webServer>
<rewrite>
<rules>
<rule name="Help Redirect" stopProcessing="true">
<match url="(.*)/help(.*)" ignoreCase="true" />
<action type="Redirect" url="http://company.custhelp.com/" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
...
</system.webServer>
答案 0 :(得分:4)
匹配网址将尝试匹配域之后的路径,从斜杠后面开始。所以它应该是这样的:
<match url="help(.*)" ignoreCase="true" />
您编写的匹配网址与device.domain.com/temp/help匹配,但不匹配device.domain.com/help。