Dan*_*nyT 9 asp.net iis asp.net-mvc orchardcms azure-web-sites
更新:重写简洁......
使用ASP.NET MVC项目,是否可以将web.config重写规则优先于MVC的RegisterRoutes()调用,或者IgnoreRoute只针对特定域调用?
我有一个MVC应用程序接受多个域(mydomain.com和otherdomain.com)上的流量,应用程序根据请求的主机(即它是多租户)提供不同的内容.
我在web.config中配置了URL重写(反向代理),它只应用于特定主机:
<rule name="Proxy" stopProcessing="true">
<match url="proxy/(.*)" />
<action type="Rewrite" url="http://proxydomain.com/{R:1}" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(mydomain\.com|www\.mydomain\.com)$" />
</conditions>
<serverVariables>
<set name="HTTP_X_UNPROXIED_URL" value="http://proxydomain.com/{R:1}" />
<set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
<set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables>
</rule>
Run Code Online (Sandbox Code Playgroud)
但是,MVC应用程序似乎只会尊重web.config配置的路由,如果它们从应用程序的RegisterRoutes()方法中被忽略:
routes.IgnoreRoute("proxy");
Run Code Online (Sandbox Code Playgroud)
然而,遗憾的是,将忽略应用于两个域.建议非常感谢...
请使用 Ignore,而不是 IgnoreRoute
routes.Ignore('url pattern here')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |