Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
Asp.net IIS URL用外来文本重写模块_Asp.net_Url Rewriting_Iis 7.5_Httpmodule - Fatal编程技术网

Asp.net 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> 很好 但是 /ราคัดมาใ (这是泰语) 不会如何修改匹配以允许外来文本?

我们使用IIS URL重写模块,如下所示

<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>