【问题标题】:.httacces custom redirectioning.htaccess 自定义重定向
【发布时间】:2022-02-07 22:51:31
【问题描述】:

我想将所有无效流量重定向到我的索引页。 此上下文中的无效流量意味着:

-案例 1. 不存在的目录

-案例 2. 不存在的文件

-Case 3. 现有路由但只有目录:例如“validroute/images”或“validroute/images/”

其实我的工作代码是

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [R,L,QSA]

Options -Indexes

对于情况 1 和 2,条件和 RewriteRule 正确重定向到我的 index.php 对于第三种情况,我使用“选项 -indexes”避免用户浏览我的目录并显示禁止的错误。我想将最后一种情况也重定向到 index.php。

我基于redirect 403 error using .htaccess 得到的最接近的方法是这样的

ErrorDocument 403 /index.php

在尝试显示有效的“文件夹”(并且仅在这种情况下)时,我试图重定向到索引,而不是重定向所有禁止 (403)。

通过设置相同的重定向,我希望用户无法看到我的目录,即使他尝试手动输入不同的路线以查看目录是否存在。实际上他有提示,因为有些是“禁止的”,有些重定向到索引。

这不是这些的重复,因为给出的答案不适合我,或者问题不是我想要的:

.htaccess redirect - Options -Indexes

.htaccess option -indexes redirect?

.htaccess to redirect everything to index.php, but keep a copy of the website in a subdirectory

也许根本不可能,或者可能有另一个命令或者一个适当的正则表达式结合到 RewriteRule 来修复选择。

【问题讨论】:

  • 解释一下stackoverflow.com/a/22960453/1427878 的答案对你不起作用。 (当然,您可能想要删除 R=301 标志,因为此时您不想要外部重定向。通过 R 标志发出 403 状态代码,或者让您重写的任何脚本来执行此操作。)
  • 我很难看到你在这里想要达到什么目标?如果您将所有内容“重定向”到index.php,那么您只有一个网页并且没有静态资源(因为所有内容都被重定向)? “但不要阻止导航/浏览内容” - 但是“工作”规则确实会阻止导航/浏览内容?!
  • "但是如果我尝试导航到 localhost/pictures/ 它正在浏览内容" - 因为您没有对“请求匹配现有 目录”,但恰恰相反。 “但是如果我尝试使用 localhost/pictures/background.jpg,由于前 2 行,它会将我发送到索引” - 如果这不是你想要的,这应该是一个现有文件- 然后你需要修改该规则之前的检查,检查它与现有文件也不匹配,目前你只是检查它与现有目录不匹配。
  • 您是否曾经想通过请求某个目录来访问该目录中的DirectoryIndex 文档?例如。 /subdirectory/ 应该为 /subdirectory/index.php 提供服务,还是您总是直接请求 /subdirectory/index.php?或者这不适用(即您根本没有在子目录中使用index.php 等)?
  • 关于 403 禁止。这是由 mod_autoindex 触发的。请参阅my answerWebmasters stack 上的以下问题,以防止出现这种特殊的403 响应:Create a virtual index file to prevent 403s

标签: regex apache .htaccess mod-rewrite


【解决方案1】:

服务器上面有一层我无法访问或以任何方式查看,但是当我处理其他类型的权限(通过密码访问文件夹)时,我注意到这有其自己的方式在不允许开发人员修改的情况下工作。 所以我想如果没有直接访问服务器,就没有办法从更高的 lvl .htaccess 覆盖它。 我使用的是 Plesk Obsidian。

因此,如果您无法完全控制服务器,您的配置可能会产生一些冲突。

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    相关资源
    最近更新 更多