php 去除slash,Apache DirectorySlash Off – 站点中断

正如您所知,根据文档,当DirectorySlash设置为Off时,对/ folder的请求没有评估DirectoryIndex.这意味着请求不会自动映射到/folder/index.php.

mod_dir在请求处理的“fixup”阶段执行此检查. mod_rewrite负责您的RewriteRule定义,当您在.htaccess文件中指定规则时,也会在此阶段执行其处理.

但是,它的编程意识到mod_dir之类的模块,并包括一个检查,以确保使用尾部斜杠请求当前目录.如果没有,它拒绝处理请求,因为这样做可能会导致未定义的行为.

然后,请求转到内容生成阶段,由于请求未映射到真实文件,因此由mod_autoindex处理.鉴于默认情况下您的主机上已禁用索引,mod_autoindex将返回403 Forbidden,这是您所看到的.

请注意,由于不评估DirectoryIndex,即使mod_rewrite要处理请求,它仍然会失败,因为不会发生对index.php的自动解析,并且您的规则

RewriteRule . /folder/index.php [L]

不会匹配,因为.需要匹配某事(但请求将为空白).

启用DirectorySlash可以通过更正除了最后一个注释之外的所有前面提到的方案中的阻止操作来防止这种情况,最后一个注释由DirectoryIndex将请求映射到index.php的事实来处理.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值