Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 尝试添加尾随斜杠时IIS URL重写模块问题_Asp.net_Mod Rewrite_Iis_Rewrite - Fatal编程技术网

Asp.net 尝试添加尾随斜杠时IIS 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/ 因此,我们可以监视和更新所

去年10月,我的公司推出了我们网站的重新设计版本。我们有一个正常的ASP.NET域设置,但是一些页面被重命名并移动到了新的位置,因此我们必须依靠Server 2012中的URL重写模块来确保书签路由到正确的位置

在大多数情况下,基于正则表达式模式的1:1 URL匹配或重写映射工作正常,正如您所期望的那样。然而,我们有一些遗留目录,我也必须移动,这不是重新设计项目的一部分。我将这些文件夹移动到根目录下的文件夹中,类似于:

$/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>