如何编辑我的htaccess,以允许我浏览目录,而不是被.php规则阻止


How to edit my htaccess to allow me browse a directory and not blocked by the .php rule?

除其他条件外,我在我的htaccess文件中添加了以下内容

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^'.]+)$ $1.php [NC,L]

问题是,我想访问我的/blog目录,通过domain.com/blog,但我得到一个domain.com/blog/.php没有找到。

如何解决这个问题?

你的规则不应该像你现在做的那样,只在每个非文件,非目录请求之后.php

将你的规则替换为:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

此规则将首先检查.php文件是否存在

将此规则添加到其他规则之前:

RewriteRule ^(blog)($|/) - [L]

这将停止该目录的其他规则。替代:

RewriteCond %{REQUEST_URI} !^/(blog/.*)$