.htaccess 自定义重定向

.httacces custom redirectioning

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

-案例1.不存在的目录

-案例2.不存在的文件

-案例 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 对于第三种情况,我使用“Options -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 结合来修复选择。

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

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