gpt4 book ai didi

iis - 为什么 IIS 7.5 在文件夹上添加尾部斜杠?我们可以禁用删除尾部斜杠的 URL 重写规则的礼貌重定向吗?

转载 作者:行者123 更新时间:2023-12-03 01:00:04 31 4
gpt4 key购买 nike

IIS 通过添加尾部斜杠来对目录进行 URL 清理。请参阅 IIS 6 中的旧文档: IIS generates courtesy redirect when folder without trailing slash is requested

  1. 为什么?意图仍然相关吗?
  2. 有任何安全隐患吗?
  3. 如何禁用它以使其与网址重写规则“RemoveTrailingSlashRule”一起使用

当您使用 URL Rewrite 2 在 IIS 7.5 下添加规则时,该规则将不会应用于目录(使用 IsDirectory)和文件夹(使用 IsFolder)。

请参阅添加规则以附加或删除尾部斜杠符号上的此警告: See this warning on Add a rule to append or remove the trailing slash symbol

这将创建RemoveTrailingSlashRule1: Edit Inbound Rule RemoveTrailingSlashRule1

最佳答案

我在这里有一个针对子 IIS 应用程序具体情况的答案:https://stackoverflow.com/a/25817317/292060 。子应用程序似乎是通常的罪魁祸首,但在这个问题中没有明确描述。

为了尝试回答这些问题,以下是我多年来与 IIS 和 Microsoft 打交道的观点。我没有可靠的资料来源可以引用;其中一些只是直觉。

  1. Why? Is the intent still relevant?

我认为它源于最初的“默认文档”功能,即index.html。网站希望他们的主页只是域名,然后扩展到子文件夹。通过 url 重写,意图不再相关 - 您可以重写您想要的内容,并且宁愿 IIS 滚开。通常需要友好的网址,并且没有尾部斜杠(域/网站根目录除外 - 需要有一个尾部斜杠,即使某些浏览器(例如 Chrome)变得可爱并隐藏它)。

  1. Any security implications?

我认为唯一的安全隐患是原始目录浏览。如果您忘记执行默认文档,并且目录浏览处于打开状态,那么人们就可以浏览您的网站文件。据我所知,目录浏览作为默认设置早已被禁用。

对于任何请求,无论是否尾部斜杠、URL 重写与否,您的服务器和代码都需要承受不良请求。这适用于所有情况,而不仅仅是针对斜杠。 http://xkcd.com/327/

  1. How can I disable it to make this work with a URL Rewrite rule "RemoveTrailingSlashRule"

如果问题是子应用程序,我有一个答案,在这里:https://stackoverflow.com/a/25817317/292060总结一下,在IIS中:

  • 禁用子应用程序的默认文档功能。
  • 使用网址重写,创建规则以将空请求重写(而不是重定向)到 default.aspx

如果此问题涉及更普遍的问题,包括常规子文件夹(即使不是子应用程序),请考虑从规则中删除“不是目录”,并让此重定向,即使它看到目录也是如此。我不确定这可能有效,或者可能会创建无限重定向循环。

关于iis - 为什么 IIS 7.5 在文件夹上添加尾部斜杠?我们可以禁用删除尾部斜杠的 URL 重写规则的礼貌重定向吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420371/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com