Mal*_*tre 22 iis url-rewriting iis-7.5 trailing-slash
IIS通过添加尾部斜杠对目录执行URL清理.从IIS 6中查看此旧文档: 当请求没有尾部斜杠的文件夹时,IIS会生成礼貌重定向
在IIS 7.5下使用URL Rewrite 2添加规则时,该规则将不会应用于目录(使用IsDirectory)和文件夹(使用IsFolder).
请参阅此警告添加规则以附加或删除尾部斜杠符号:

这将创建RemoveTrailingSlashRule1:

我在这里找到了一个关于子IIS应用程序特定案例的答案:https://stackoverflow.com/a/25817317/292060.儿童应用程序似乎是通常的罪魁祸首,但未在此问题中明确说明.
为了回答这些问题,以下是我多年来处理IIS和Microsoft的意见.我没有硬源来引用; 其中一些只是直觉.
- 为什么?意图是否仍然相关?
我认为它源于原始的"默认文档"功能,即index.html.网站希望他们的主页只是域名,然后扩展到子文件夹.通过URL重写,意图不再相关 - 您可以重写您的内容,而宁愿IIS不再使用.通常需要友好的URL,并且没有斜杠(除了域/网站根目录 - 需要有一个斜杠,即使某些浏览器如Chrome变得可爱并隐藏它).
- 任何安全隐患?
我认为唯一的安全隐含是原始目录浏览.如果您忘记执行默认文档,并且打开了目录浏览,那么人们可以浏览您的网站文件.据我所知,目录浏览已被长时间禁用为默认设置.
对于任何请求,无论是否尾随斜杠,url是否重写,您的服务器和代码都需要承受错误的请求.这适用于所有情况,而不仅仅是特定于斜杠.http://xkcd.com/327/
- 如何通过URL重写规则"RemoveTrailingSlashRule"禁用它以使其工作
如果问题是子应用程序,我有一个答案,在这里:https://stackoverflow.com/a/25817317/292060 摘要是,在IIS中:
如果这个问题是针对更普遍的问题,包括常规子文件夹,即使不是子应用程序,请考虑从规则中删除"不是目录",并且即使它看到目录也要重定向.这可能会起作用,或者可能会创建无限重定向循环,我不确定.
| 归档时间: |
|
| 查看次数: |
7213 次 |
| 最近记录: |