htaccess如何从文件而不是目录中删除尾部斜杠

时间:2018-12-18 15:52:24

标签: php .htaccess apache2

我的网站使用PHP编码。在我的htaccess文件中,我使用以下命令从网址中删除php文件扩展名:

 RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
 RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]
 RewriteCond %{REQUEST_FILENAME}\.php -f
 RewriteRule ^/?(.*)$ /$1.php [L]

示例:www.mysite.com/folder/file.php将定向到www.mysite.com/folder/file

如果我导航到目录时未添加斜杠,则服务器会自动添加一个:

示例:www.mysite.com/folder将定向到www.mysite.com/folder /

如果我改为导航至文件并添加斜杠,则会收到内部服务器错误

是否可以在我的htaccess文件中添加代码,服务器可以在其中确定url是否是文件而不是文件夹?而不是抛出错误,而是删除结尾的斜杠,以便显示文件?

1 个答案:

答案 0 :(得分:1)

将此规则插入.htaccess的顶部,以删除非目录的尾部斜杠:

.switch