非英语字符的IIS URL重写规则问题

时间:2018-09-05 14:35:47

标签: iis url-rewriting web-config special-characters

我在获取IIS URL Rewrite 2规则以使用非英语(瑞典语)字符(åöö)时遇到问题。我在Windows Server 2012 R2(IIS 8.5)上。

此规则适用于英文字符:

<rule name="RedirectSubWebKeepURI" enabled="true" stopProcessing="true">    
    <match url="^department/lawyers/(.*)" />
    <action type="Redirect" url="/section/lawyers/{R:1}" />
</rule>

但是假设我将“律师”拼写为“律师”(不是一个真实的词!),我如何使它起作用?

以下示例均无效:

<match url="^department/låwyers/(.*)" />          [real character]
<match url="^department/l%C3%A5wyers/(.*)" />     [URL encoded 'å']

我想念什么? This previous question说您必须使用{UNENCODED_URL}变量,但这是否意味着我必须将所有URL:s与".*"匹配,并将实际的匹配逻辑移至条件?如果是这样,我真的无法弄清楚应该如何改写我的规则...

感谢帮助!

1 个答案:

答案 0 :(得分:0)

尝试像这样使用内部UrlEncode{}

<action type="Redirect" url="/section/lawyers/{UrlEncode:{R:1}}" />