我一直在尝试将我的主页重写为ASP.Net MVC应用程序中的另一个IP地址。我在IIS中安装了URL Rewrite和Application Request Routing模块。我已经在我的web.config中设置了重写,当我将动作类型更改为重定向时,它完美地运行,但是一旦我将其更改为重写它就完全不起作用。 我已经更改了匹配的网址以接受所有请求,但它仍然无效。
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="node" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://255.255.255.255/" />
</rule>
</rules>
</rewrite>
</system.webServer>
似乎重写过程与路由有一些冲突。我如何才能使重写的优先级更高?
答案 0 :(得分:1)
<rewrite>
部分中的URL重写模块的配置适用于内部URL,不能重写服务器的域或IP:
IIS.NET:重写操作用替换替换当前的URL字符串 串。替换字符串必须始终指定URL路径(for 例如,contoso / test / default.aspx)。
你问的不是网址重写,而是反向代理。如果您可以访问IIS,则可以尝试使用reverse proxy configuration,或者只是创建一个类似于此example的HttpHandler。下一个选项可以是http://urlrewriter.codeplex.com
答案 1 :(得分:1)
首先,您必须配置仅包含一个服务器的Application Request Routing Server Farm(您应该为此服务器指定IP)。之后,您需要按照here所述配置全局URL重写规则。
答案 2 :(得分:0)
是否会发生配置继承? 如果是这样,您可以使用&lt; location&gt;包装所需的部分。禁用父应用程序的继承...
<location path="." inheritInChildApplications="false">
<system.webServer>
...
</system.webServer>
</location>