当前位置:  开发笔记 > 运维 > 正文

问题重定向403禁止404找不到

如何解决《问题重定向403禁止404找不到》经验,为你挑选了1个好方法。

我的.htaccess的相关部分看起来像这样:

Options -Indexes

    Order allow,deny
    Deny from all

RedirectMatch 404 ^/include(/.*)$

它产生了以下响应:

/包括403

/ include/404

/include/config.inc 403

我可以通过查看我的模式来判断问题可能出现在(/.*)部分,但我尝试的所有内容都给出了相同的结果; 而不是一直得到404我得到一个404的404和其他一切的403.我正在使用的表达式有什么问题?或者,因为我必须为几个目录执行此操作,是否有一种全面的方法可以将所有403响应转换为404?

更新:我发现通过删除FileMatch我得到了更好的结果,所以我的.htaccess现在看起来像这样:

Options -Indexes
RedirectMatch 404 ^/include(/.*)?$ # Added dlamblin's first suggestion

并生成以下响应:

/包括404

/ include/404

/include/config.inc 403

更新:有趣的是,我发现以下产生不同的输出:

RedirectMatch 404 ^/include(/?|/.*)$
RedirectMatch 404 ^/template(/?|/.*)$

模板模式适用于所有情况但是include仍然为include中的所有文件生成403(例如/include/config.inc)这可能是目录名称的问题而不是.htaccess文件本身的问题?

更新:访问/include/config.inc时,我的.htaccess中的以下内容与重定向冲突.


    Order allow,deny
    Deny from all

Bryan Rehbei.. 6

我可以理解为什么你的RedirectMatch没有抓住/ include,你没有把结尾'/'作为可选,但是/include/config.inc部分有点令人费解.

以下是我在Apache 2.2上的工作:


    Order allow,deny
    Deny from all


RedirectMatch 404 ^/include(/?|/.*)$

这处理这些情况:

/include 404
/include/ 404
/include/config.inc 404

我必须更改FilesMatch部分才能使/ include部分正常工作.

编辑:

匹配行也可以在.htaccess中没有部分的情况下工作,并给出预期的结果.



1> Bryan Rehbei..:

我可以理解为什么你的RedirectMatch没有抓住/ include,你没有把结尾'/'作为可选,但是/include/config.inc部分有点令人费解.

以下是我在Apache 2.2上的工作:


    Order allow,deny
    Deny from all


RedirectMatch 404 ^/include(/?|/.*)$

这处理这些情况:

/include 404
/include/ 404
/include/config.inc 404

我必须更改FilesMatch部分才能使/ include部分正常工作.

编辑:

匹配行也可以在.htaccess中没有部分的情况下工作,并给出预期的结果.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有