Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编辑我的htaccess以允许我浏览目录而不被.php规则阻止?_Php_.htaccess - Fatal编程技术网

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

如何编辑我的htaccess以允许我浏览目录而不被.php规则阻止?,php,.htaccess,Php,.htaccess,在其他条件中,我的htaccess文件中包含以下内容 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^\.]+)$ $1.php [NC,L] 问题是我想通过domain.com/blog访问我的/blog目录,但我得到的domain.com/blog/.php未找到 如何解决此问题?在其他规则之前添加此规则: RewriteRule ^(blog)($|/) - [

在其他条件中,我的htaccess文件中包含以下内容

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
问题是我想通过
domain.com/blog
访问我的
/blog
目录,但我得到的
domain.com/blog/.php
未找到


如何解决此问题?

在其他规则之前添加此规则:

RewriteRule ^(blog)($|/) - [L]
这将停止此目录的其他规则

备选方案:

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

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

RewriteRule ^(blog)($|/) - [L]
这将停止此目录的其他规则

备选方案:

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

您的规则不应该像您现在所做的那样,在每个非文件、非目录请求之后执行
.php

将规则替换为以下内容:

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

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

您的规则不应该像现在这样在每次非文件、非目录请求之后都执行
.php

将规则替换为以下内容:

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

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

您可以将.htaccess文件放入包含
RewriteEngine Off
的blog目录中,这将取消博客目录的重写规则。由于博客目录存在,您的规则不应适用于/blog。您可以将.htaccess文件放入包含
RewriteEngine Off
的博客目录中,这将取消博客目录的重写规则。由于博客目录存在,您的规则不应适用于/blog。一个快速问题,我如何允许
blog
blog/
?一个快速问题,我如何允许
blog
blog/