使用htaccess将文件扩展名添加到链接中,但忽略文件夹

时间:2018-10-21 19:41:32

标签: php .htaccess

在主导航中,我具有指向网站的每个静态页面的链接。每个网页文件都有一个.php扩展名,我从所有链接中都删除了.php扩展名,我的htaccess文件中的以下条目将它们添加了。

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

我刚刚尝试在子文件夹/ demo中安装一个WordPress博客,当我尝试访问目录domain.com/demo时,我得到一个404,URL显示为domain.com/demo.php

如何获得htaccess来从其重写规则中删除文件夹?

2 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/demo [NC]
RewriteRule ^([^\.]+)$ $1.php [NC,L]

答案 1 :(得分:0)

我也有这个问题。您需要在这些标记之间签入Apache配置文件

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

AllowOverride设置为All