DNN RewriterConfig 重定向规则

DNN RewriterConfig redirection Rule

我尝试将 www.myDNNSite.com/hastinfo/[...] 重定向到 DNN 7.x

中的 http://172.16.244.43:83/[...]

为此,我在 SiteUrls.config 中添加了一条规则,如本博客所示 https://bertcraven.wordpress.com/2008/05/21/quick-n-dirty-redirects-in-dotnetnuke/

<RewriterRule>
     <LookFor>[^?]*/hastinfo/(.*)</LookFor>
     <SendTo>http://172.16.244.43:83/</SendTo>
</RewriterRule>

如果有 .在 hastinfo 之后,所以:

如果有 .成立。

即使 . (点)出现在 url ?

编辑:

我的 objective 使用此重定向是为了让我的开发和生产环境具有相同的终点。我在前端有三台服务器,www.myDNNSite.com/hastinfo 后面的 Web 服务指向三台不同的服务器以平衡负载。 在更新到 DNN 7.X 之前,我使用的是完成这项工作的 ManagedFusionRewriter。

但是它从 2009 年开始没有更新,现在使用 IIS 8.5 我看起来是从配置文件进行重定向的更好方法。

编辑 2:

我尝试添加 IIS Mod 在我的 IIS 8.5 中重写并写入 Web.config:

<rewrite>      
  <rules>
  <rule name="Imported Rule 101" stopProcessing="true">
    <match url="^hastinfo/(.*)" />
     <action type="Rewrite" url="http://172.16.244.43:83/{R:1}" appendQueryString="true" />
  </rule>

没有成功...这里是 Failed Tracing:

将 IIS 重定向与 DNN 友好 Url 提供商结合使用通常会导致灾难。

在这种情况下,您遇到问题的原因很可能是 ASP.NET 进程正在捕获 .axd,这阻止了重写的发生。

根据你的目标,你能解释一下真正的目标吗?这个答案而不是 "do this" 的原因是使用 DNN 重定向到非标准端口也会导致问题,因为在 web.config 中有一个 "usePortNumber" 的设置,你如果使用非标准端口,将需要打开。

我终于找到了使它起作用的方法。

感谢:http://blogs.msdn.com/b/asiatech/archive/2011/08/25/return-404-4-not-found-when-url-rewrite.aspx

您需要安装应用程序请求路由并启用代理,然后它将与 URL 重写到远程服务器(无论它们在哪里或什么)一起工作,因为路由会处理这个问题。

http://www.iis.net/download/ApplicationRequestRouting