IIS URL重写问题Tilde(〜)

时间:2016-02-06 01:29:54

标签: asp.net iis url-rewriting sitecore url-rewrite-module

我有一些遗留的网址,我需要重定向,其中有一个代字号(〜)作为网址的一部分。我在使IIS重写规则生效方面遇到了一些问题。

旧网址: http://www.example.com/~/media/something/whatever.pdf

需要将其重定向到: /不管

我有以下规则:

  

的Web.Config

<rewrite>
    <rewriteMaps configSource="RewriteMaps.config" /> 
    <rules configSource="RewriteRules.config" />
</rewrite>
  

RewriteMaps.config

<rewriteMaps>
    <rewriteMap name="Legacy URLS">
        <!--DOES NOT WORK-->
        <add key="~/media/something/whatever.pdf" value="/whatever" />  
        <!--WORKS-->
        <add key="/testing123" value="/whatever" /> 
    </rewriteMap>
</rewriteMaps>
  

RewriteRules.config

<rules>
    <rule name="Redirect rule1 for Legacy URLS" stopProcessing="true">
        <match url=".*" />
        <conditions>
            <add input="{Legacy URLS:{REQUEST_URI}}" pattern="(.+)" />
        </conditions>
        <action type="Redirect" url="{C:1}" appendQueryString="false" />
    </rule>
</rules>

1 个答案:

答案 0 :(得分:0)

我认为你必须要逃避代字号,也许HTML Encode:     &#126;

http://www.ascii.cl/htmlcodes.htm)或网址编码。

否则它必须以不同的方式解释,一个应用程序回家。