IIS URL重写存在非英语字符问题
我在asp.net项目的web.config中设置了IIS URL重写。 它可以很好地处理标题查询字符串中的英语字母表,但它不能处理非英语字母表,即使我将标题更改为IIS URL重写存在非英语字符问题,iis,url-rewriting,Iis,Url Rewriting,我在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="Rewrit
{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-字符
工作正常,但http://localhost:53849/page/1/ตรวจสอบ代码>不工作并引发以下错误:
HTTP错误404.0-找不到
您也可以将其更改为
^page/([0-9]+)/(.*)
顺便说一句,如果问题已经解决了,请将解决方案作为答案发布并标记,以便帮助他人。请花时间学习正则表达式。您编写的表达式只适用于英文字符,因此毫无疑问它会中断。谢谢@LexLi将([0-9a-z-]+)更改为([^A-Za-z0-9]+),现在可以使用了