Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IIS URL重写存在非英语字符问题_Iis_Url Rewriting - Fatal编程技术网

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

我在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}&amp;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]+),现在可以使用了