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

问题描述 投票:0回答:1

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

但是假设我将“律师”拼写为“låwyers”(不是真正的词!),我怎样才能让它发挥作用?

以下两个例子都不起作用:

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

我错过了什么? This previous question说你必须使用{UNENCODED_URL}变量,但这是否意味着我必须匹配所有URL:s与".*"并将实际匹配逻辑移动到一个条件而不是?如果是这样,我无法弄清楚我的规则应该如何重写...

感谢帮助!

iis url-rewriting web-config special-characters
1个回答
0
投票

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

<action type="Redirect" url="/section/lawyers/{UrlEncode:{R:1}}" />
© www.soinside.com 2019 - 2024. All rights reserved.