0

我们使用 IIS URL Re-write 模块,像这样

<rule name="RewriteSearch" stopProcessing="true">
<match url="^Search/([_0-9a-z+-]+)" />
<action type="Rewrite" url="CommonPages/Search.aspx?term={R:1}" />
</rule>

http://www.tickettail.com/Search/NormalText123 工作正常

但...

http://www.tickettail.com/Search /ราคัดมาใ

(这是泰语) 不会。如何修改匹配以允许外来文本?

谢谢

4

1 回答 1

2

您要匹配的正则表达式只接受字符_0to 9atoz和。为了接受所有字符,您必须将正则表达式修改为 eg (这接受任何字符并且需要至少一个字符。+-(.+)

其次,为了将任何字符正确传递到搜索页面,您必须使用内置{UrlEncode:{}}函数对术语进行 URL 编码。还要确保您的页面可以处理和输出 UTF-8。

以下规则有效:

<rule name="RewriteSearch" stopProcessing="true">
    <match url="^Search/(.+)" />
    <action type="Rewrite" url="CommonPages/Search.aspx?term={UrlEncode:{R:1}}" />
</rule>
于 2013-01-18T13:40:21.587 回答