【发布时间】:2021-03-01 03:30:13
【问题描述】:
我在我的 asp.net 项目的 web.config 中设置了 IIS URL 重写。
它适用于标题查询字符串中的英文字母,但它不适用于非英文字母,即使我将标题更改为 {UrlEncode:{R:2}}。
<rule name="Rewrite to Page.aspx">
<match url="^page/([0-9]+)/([_0-9a-z-]+)"/>
<action type="Rewrite" url="page.aspx?id={R:1}&title={R:2}"/>
</rule>
例如:
http://localhost:53849/page/1/english-character 工作正常,但http://localhost:53849/page/1/ตรวจสอบ 不工作并抛出以下错误:
HTTP 错误 404.0 - 未找到
【问题讨论】:
-
请花时间学习正则表达式。你写了一个只适用于英文字符的表达式,所以毫无疑问它会坏掉。
-
谢谢@LexLi 我将 ([0-9a-z-]+) 更改为 ([^A-Za-z0-9]+) 并且现在可以工作了
标签: iis url-rewriting