DNN RewriterConfig重定向规则

时间:2015-09-09 09:26:11

标签: c# url-rewriting dotnetnuke

我尝试将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/$1</SendTo>
</RewriterRule>

如果有,这不起作用。在hastinfo之后,所以:

  • www.myDNNSite.com/hastinfo/test - &gt; OK 172.16.244.43:83/test
  • www.myDNNSite.com/hastinfo/myhandler.axd - &gt; KO错误404,没有重定向

如果存在,DNN似乎会使用URL创建一些内容。成立。

即使a,如何使我的重定向工作。 (点)出现在网址?

编辑:

我对此重定向的目标是为我的开发和生产环境提供相同的终点。我在前端有三个服务器,www.myDNNSite.com/hastinfo后面的Web服务指向三个不同的服务器来负载均衡费用。 在更新到DNN 7.X之前,我正在使用ManagedFusionRewriter来完成这项工作。

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

编辑2:

我尝试在IIS 8.5中添加IIS Mod Rewrite并在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>

没有成功......这里是失败的追踪:

enter image description here

1 个答案:

答案 0 :(得分:0)

将IIS重定向与DNN友好网址提供商结合使用通常会让人感到灾难。

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

根据您的目标,您能解释一下真正的目标吗?这个答案而不是“执行此操作”的原因是将DNN重定向到非标准端口也会导致问题,因为web.config中有“usePortNumber”的设置,您希望在如果使用非标准端口。