IIS 重写模块 - URL 末尾的编码空格,查找重写规则以重定向页面
本文关键字:重写规则 查找 重定向 空格 编码 模块 重写 URL IIS | 更新日期: 2023-09-27 18:31:06
我有一个讨厌的小问题。我正在使用带有重写模块的 MVC 3。有一个从另一个网站链接到我的网站的链接,如下所示:
hxxp:www.mysite.com/%20
即其他网站广告 %20(编码空格字符)到其网址的末尾。
现在我需要将此链接重定向到主站点,如下所示:
hxxp://www.mysite.com/
否则,它会给出 404 未找到错误。
现在的问题我尝试了不同的重写规则,但似乎没有什么可以重定向网站,例如
<rule name="redirect space" stopProcessing="true">
<match url="^hxxp://www.mysite.com/%20" />
<action type="Redirect" url="hxxp://www.mysite.com/" redirectType="Permanent" />
</rule>
和许多其他组合,但似乎没有什么可以解决它,并且在每种情况下都会给出 404 个错误。
尝试为空格添加一些变体:编码的、解码的和空格字符,如下所示:
<rule name="redirect space" stopProcessing="true">
<match url="^hxxp://www.mysite.com/((%20)|' |'s)+" />
<action type="Redirect" url="hxxp://www.mysite.com/" redirectType="Permanent" />
</rule>
更多信息可以在这里找到:
- 使用 URL 重写模块
- ASP.NET MVC 和新的 IIS7 重写模块
- 为 URL 重写模块创建重写规则
- 为 URL 重写模块开发规则模板
如果这仍然不起作用,您必须编写自己的 rewite 模块。您可以在此处查看更多详细信息:
将 Url 中的 %20 替换为 - 在 C#.net web.config 中