Tilde IIS URL重写问题(〜)
问题描述:
我有一些遗留的URL,我需要重定向,有一个代字符(〜)作为URL的一部分。我有一些问题让IIS重写规则正常工作。Tilde IIS URL重写问题(〜)
旧的URL: 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>
代字符串是实际URL的一部分(例如,您的服务器中实际上有一个'/〜'文件夹)或正在ASP.Net(应用程序)上下文中使用(指的是“应用程序根目录”) ? – EdSF
不幸的是,由于我们无法控制的原因,它是URL的一部分。 –