隐藏 .php 添加斜线

隐藏 .php 添加斜线

该脚本运行完美,它强制使用尾部斜杠并隐藏 .php 扩展名

但!它不会将人们直接重定向到 .php 扩展名。

我怎样才能强制人们直接进入 file.php 到 /file/

RewriteEngine On
RewriteRule ^(.*)/$ /$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.mysite.com/$1/ [R=301,L]

答案1

我认为这里可能存在一些错误:

RewriteCond %{REQUEST_FILENAME} !-f

这表明下一个规则仅当文件名不是文件时才会发生,而你的文件.php名是文件,因此会触发 false。

这应该可以工作,或者至少可以让你顺利完成任务:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ $1.php [L]

!-d确保请求的路径不是目录;这解决了诸如images/导致images.php图像目录以外的潜在问题。

相关内容