我尝试使用以下规则将 office.domain.com/app1 请求重写为 server3:81 ,但我正在尝试404.我可以浏览 server3:81 就好了。
失败的请求跟踪日志可用here,但它们似乎没有显示出来。
我还尝试了url="http://server3:81/{R:0}"
和url="http://server3:81/{R:1}"
(不确定原因/差异是什么),但两者都产生相同的结果(404)。
在我的统治中,我做错了什么? (警告:我现在对RegEx非常不方便,但我会尽力理解你的答案。我可能要求澄清。)
<rule name="App1" stopProcessing="true">
<match url="^app1" />
<action type="Rewrite" url="http://server3:81/" />
</rule>
答案 0 :(得分:1)
您可能想要尝试一些事项,第一种是更改regex
模式以匹配您要替换的整个网址并捕获您要保留的部分。第二个建议是验证您的重写网址是http
而不是https
:
方法一:(正则表达式更改)
<rule name="App1" stopProcessing="true">
<match url="^.*/(app1)" />
<action type="Rewrite" url="http://server3:81/{R:1}" />
</rule>
方法二:(正则表达式+ https +端口更改)
<rule name="App1" stopProcessing="true">
<match url="^.*/(app1)" />
<action type="Rewrite" url="https://server3:8080/{R:1}" />
</rule>
方法三:(正则表达式完整网址+相对重写)
<rule name="App1" stopProcessing="true">
<match url=".*" />
<action type="Rewrite" url="server3:81/app1" />
</rule>