繁体   English   中英

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

[英].htaccess Remove file extension, force trailing slash and allow folder with same name as file

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

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

有任何想法吗?

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

RewriteEngine On

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM