Asp.net IIS URL用外来文本重写模块
我们使用IIS URL重写模块,如下所示Asp.net IIS URL用外来文本重写模块,asp.net,url-rewriting,iis-7.5,httpmodule,Asp.net,Url Rewriting,Iis 7.5,Httpmodule,我们使用IIS URL重写模块,如下所示 <rule name="RewriteSearch" stopProcessing="true"> <match url="^Search/([_0-9a-z+-]+)" /> <action type="Rewrite" url="CommonPages/Search.aspx?term={R:1}" /> </rule> 很好 但是 /ราคัดมาใ (这是泰语) 不会如何修改匹配以允许外来文本?
<rule name="RewriteSearch" stopProcessing="true">
<match url="^Search/([_0-9a-z+-]+)" />
<action type="Rewrite" url="CommonPages/Search.aspx?term={R:1}" />
</rule>
很好
但是
/ราคัดมาใ
(这是泰语)
不会如何修改匹配以允许外来文本?
非常感谢您要匹配的正则表达式只接受字符\uu
,0
到9
,a
到z
,+
和-
。为了接受所有字符,您必须将正则表达式修改为,例如,(.+)
(这接受任何字符,并且至少需要一个字符)
其次,为了将任何字符正确地传递到搜索页面,您必须使用内置的{UrlEncode:{}}
函数对术语进行URL编码。还要确保页面可以处理和输出UTF-8
以下规则有效:
<rule name="RewriteSearch" stopProcessing="true">
<match url="^Search/(.+)" />
<action type="Rewrite" url="CommonPages/Search.aspx?term={UrlEncode:{R:1}}" />
</rule>