改写返回“无法使用前导..退出顶层目录”的URL

时间:2019-04-05 03:09:01

标签: iis sitecore config url-rewrite-module

我的网站运行良好,直到我添加了重写规则以从URL删除子文件夹,以便原来的https://example.com/folder/page就是https://example.com/page。我的文件确实位于/ folder / page位置...我只是不希望/ folder /出现在最终用户的URL中。完成此操作后,出现以下错误:

  

不能使用前导..退出顶层目录。描述:   发生未处理的异常。

     

异常详细信息:System.Web.HttpException:无法使用前导..   退出顶部目录。

我的URL重写规则如下:

<rule name="Remove Folder" enabled="true" stopProcessing="true">
    <match url="^folder$|^folder/(.*)$" />
    <conditions>
    </conditions>
    <action type="Redirect" url="{R:1}" />
</rule>
<rule name="RewriteToFile" stopProcessing="true">
    <match url="^(?!/folder)(.*)$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="folder/{R:1}" />
</rule>

此外,此规则导致除主页以外的所有其他页面返回404错误。

此外,如果有问题,此站点在Sitecore上运行,因此文件夹和文件不是实际的文件夹或文件。它们是Sitecore项。

有人知道现在是什么导致我出错了吗?

0 个答案:

没有答案