为什么禁止使用 mod_rewrite 的目录中的所有 php 文件会拒绝访问目录列表?

为什么禁止使用 mod_rewrite 的目录中的所有 php 文件会拒绝访问目录列表?

服务器:Apache 2.2.17

我有下一个.htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule !^includes/ - [S=1]
RewriteRule ^includes/[^/]+\.php$ - [F,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

如您所见,我禁止用户访问“includes”目录中的所有 php 文件。除了 php 文件之外,“includes”中还有另一个目录和一张图片,但我没有索引文件。那么为什么以这种方式禁止所有 php 文件会拒绝访问目录列表呢?

PHP 文件被禁止,我可以访问图像并进入“includes”内的其他目录。但是“includes”目录中的文件列表被拒绝。为什么?

相关内容