.htaccess删除文件扩展名,强制尾随斜杠并允许文件夹与文件同名

时间:2016-04-26 19:52:37

标签: php .htaccess

正如标题所示,我正在尝试从URL中删除所有php文件扩展名,并在网址中添加一个尾部斜杠。

http://website.com/link.php

应该是

http://website.com/link/

此外,如果有一个名称相同的文件夹(/ link),则应优先显示文件(link.php)。

我目前的代码如下:

RewriteEngine On
# Manually re-route portfolio/ requests to portfolio
RewriteCond %{REQUEST_FILENAME} marknadsnytt/$
RewriteRule ^(.*)/$ $1 

# Hide extension
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要一个单独的重定向规则来删除.php并添加尾部斜杠:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1/ [R=302,L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
相关问题