URL 重写外部网站不能在 IIS 8.5 上运行但在 IIS 7.5 上运行
URL Rewrite to external website not working on IIS 8.5 but works on IIS 7.5
<rule name="Reverse Proxy to externalwebsite.com" stopProcessing="true">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<match url="/(.*).cgi" />
<action type="Rewrite" url="http://externalwebsite.com/cgi_bin/{R:0}" logRewrittenUrl="true" />
<serverVariables>
<set name="HTTP_REFERER" value="http://externalwebsite.com" />
</serverVariables>
</rule>
基本上,我想将 internalwebsite.com/cgi_bin/*.cgi
的所有请求重写为 externalwebsite.com/cgi_bin/*.cgi
以上规则在具有 IIS7.5 版本的 windows 7 系统上完美运行。但它不适用于带有 IIS8.5 的 windows 8.1 系统。它给出了一般的 404.4 错误。
我已确保 URL 重写模块和应用程序请求路由模块安装在两个系统上。有什么可能是错误的猜测吗?
我错过了一件愚蠢的事情。
确保选择了根节点。应用程序请求路由 > 服务器代理设置(右窗格)> 启用 > 应用。
就是这样。 Windows 7 和 IIS 7.5 也需要这样做。我已经这样做了,但忘了在 IIS8.5 上做同样的事情。
<rule name="Reverse Proxy to externalwebsite.com" stopProcessing="true">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<match url="/(.*).cgi" />
<action type="Rewrite" url="http://externalwebsite.com/cgi_bin/{R:0}" logRewrittenUrl="true" />
<serverVariables>
<set name="HTTP_REFERER" value="http://externalwebsite.com" />
</serverVariables>
</rule>
基本上,我想将 internalwebsite.com/cgi_bin/*.cgi
的所有请求重写为 externalwebsite.com/cgi_bin/*.cgi
以上规则在具有 IIS7.5 版本的 windows 7 系统上完美运行。但它不适用于带有 IIS8.5 的 windows 8.1 系统。它给出了一般的 404.4 错误。
我已确保 URL 重写模块和应用程序请求路由模块安装在两个系统上。有什么可能是错误的猜测吗?
我错过了一件愚蠢的事情。
确保选择了根节点。应用程序请求路由 > 服务器代理设置(右窗格)> 启用 > 应用。
就是这样。 Windows 7 和 IIS 7.5 也需要这样做。我已经这样做了,但忘了在 IIS8.5 上做同样的事情。