.htaccess阻止url中的文件夹名称重定向
我在根目录中有一些文件夹,里面有一个.htaccess文件,可以拒绝任何访问(.htaccess阻止url中的文件夹名称重定向,.htaccess,.htaccess,我在根目录中有一些文件夹,里面有一个.htaccess文件,可以拒绝任何访问(deny from all)。我在root中的htaccess是: RewriteEngine On Options -Indexes RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+)$ index.php?url
deny from all
)。我在root中的htaccess是:
RewriteEngine On
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
除了在url中获得文件夹名称外,它工作正常。我想忽略文件夹名称,只是将任何url重定向到index.php?url。
有人能帮忙吗?代码-d,
-f
,-l
条件意味着仅当访问url未解析为现有文件、目录或链接时才应用重写规则。因此,如果目录存在,它将不应用该规则。你需要移除这些。然后需要防止index.php递归重写为自身,如下所示:
RewriteRule ^index.php$ - [L]
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
您可能还希望将上一条规则中的+
更改为*
,以匹配空url
实际上,内部的
.htaccess
文件似乎首先被解析,然后才是重写引擎。因此,您需要删除那些.htaccess
,并依赖重写规则。不起作用。文件夹中的htaccess文件如何?“不工作”不是有价值的信息。文件夹中的htaccess文件呢?你的问题没有提到他们。那么,他们呢?我不知道,你知道吗?我说过我在根目录中有一些文件夹,里面有一个.htaccess(A)文件。。。(你读过吗?)。由于.htaccess(A)文件,它无法工作。1)您是如何更改以前的内容的2)它究竟是如何无法工作的?我已删除了这些条件,并在根htaccess中使用了您的代码。htaccess(A)位于正在阻止的子文件夹中。