我的网站运行良好,直到我添加了重写规则以从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项。
有人知道现在是什么导致我出错了吗?