【发布时间】:2017-03-25 05:36:17
【问题描述】:
我尝试在 DNN 7.x 中将 www.myDNNSite.com/hastinfo/[...] 重定向到 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 -> OK 172.16.244.43:83/test
- www.myDNNSite.com/hastinfo/myhandler.axd -> KO 错误 404 且无重定向
如果有 .成立。
即使 . (点)存在于 url 中?
编辑:
我进行此重定向的目的是让我的开发和生产环境具有相同的端点。我在前端有三台服务器,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>
没有成功......这里是失败的追踪:
【问题讨论】:
标签: c# url-rewriting dotnetnuke