Asp.net 尝试添加尾随斜杠时IIS URL重写模块问题
去年10月,我的公司推出了我们网站的重新设计版本。我们有一个正常的ASP.NET域设置,但是一些页面被重命名并移动到了新的位置,因此我们必须依靠Server 2012中的URL重写模块来确保书签路由到正确的位置 在大多数情况下,基于正则表达式模式的1:1 URL匹配或重写映射工作正常,正如您所期望的那样。然而,我们有一些遗留目录,我也必须移动,这不是重新设计项目的一部分。我将这些文件夹移动到根目录下的文件夹中,类似于:Asp.net 尝试添加尾随斜杠时IIS URL重写模块问题,asp.net,mod-rewrite,iis,rewrite,Asp.net,Mod Rewrite,Iis,Rewrite,去年10月,我的公司推出了我们网站的重新设计版本。我们有一个正常的ASP.NET域设置,但是一些页面被重命名并移动到了新的位置,因此我们必须依靠Server 2012中的URL重写模块来确保书签路由到正确的位置 在大多数情况下,基于正则表达式模式的1:1 URL匹配或重写映射工作正常,正如您所期望的那样。然而,我们有一些遗留目录,我也必须移动,这不是重新设计项目的一部分。我将这些文件夹移动到根目录下的文件夹中,类似于: $/sandbox/annualreport/ 因此,我们可以监视和更新所
$/sandbox/annualreport/
因此,我们可以监视和更新所有未在一个位置重新命名的文件夹。我使用的简化重写条目如下:
<rewrite>
<rules>
<clear />
<rule name="Sandbox URLs">
<match url="^(annualreport)\b/?(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="sandbox/{R:1}/{R:2}" />
</rule>
</rules>
</rewrite>
我尝试了默认的URL重写向导来添加一个尾随斜杠,我更喜欢这样,但它似乎无法解决本地化文件的问题:
<rule name="AddTrailingSlashRule1" stopProcessing="false">
<match url="(.*[^/])$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="{R:1}/" />
</rule>
如何在URL重写时强制添加尾随斜杠,同时在重写目录中维护本地访问的文件?
任何帮助都将不胜感激。谢谢
<rule name="AddTrailingSlashRule1" stopProcessing="false">
<match url="(.*[^/])$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="{R:1}/" />
</rule>