bac*_*acr 5 url-rewriting iis-7.5 azure-web-sites
我在web.config中遵循重写规则:
<rewrite>
<rules>
<rule name="Search" stopProcessing="true">
<match url="^search/(.+)$" />
<action type="Redirect" url="?q={R:1}" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
它在Azure网站上的IIS Express 8.0和IIS 7.5上都可以正常使用/search/test(仅限ascii字符) - 重定向到/?q=test.但对于Azure网站上的IIS 7.5上具有unicode字符(/search/????或/search/%D1%82%D0%B5%D1%81%D1%82)的URL,重定向到/?q=теÑÑ‚(或/?q=%C3%91%E2%80%9A%C3%90%C2%B5%C3%91%C2%81%C3%91%E2%80%9A)而不是/?q=%D1%82%D0%B5%D1%81%D1%82.它在IIS Express 8.0上正常工作.
您应该使用内部{UrlEncode{}}函数来正确编码URL中无效的字符(例如UTF-8字符).所以用以下代码替换URL部分:url="?q={UrlEncode:{R:1}}".
| 归档时间: |
|
| 查看次数: |
7553 次 |
| 最近记录: |