删除.php但现在文件夹结构不起作用并且尾随斜杠

时间:2017-06-05 23:30:23

标签: php .htaccess

我是使用

删除.php扩展名
RewriteEngine On
RewriteRule ^([^\.]+)$ $1.php [NC,L]

但是这引入了一个问题,即我无法访问文件夹目录,而且他们的内部文件和服务器甚至都不接受最后的尾部斜杠。

所以让我访问这个页面

www.example.com/family

url会加载

如果我使用/结尾访问此页面

www.example.com/family/

注意我在结尾处有斜杠/,它不起作用

现在,如果我有一个目录或文件夹名称系列

www.example/family

这是目录而不是我的页面,然后页面将无法工作,也无法访问目录或文件夹。

2 个答案:

答案 0 :(得分:0)

添加重写规则以重定向到带斜杠的网址:

RewriteRule (.*)$ /$1 [L,R=301]

输入网址:http://www.example.com/family

输出网址:http://www.example.com/family/

答案 1 :(得分:0)

似乎我能够通过使用此代码来实现:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

我在这里粘贴,如果其他人正在寻找相同的问题。