我已成功删除了我的文件的.php扩展名,但在向页面添加尾部斜杠时遇到问题。对不起,如果之前已经介绍过,已经到处搜索但找不到任何可行的方法。
任何帮助都会非常感激,我的ht.access目前看起来像这样:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index
RewriteRule ^(.*)index$ http://www.mywebsite.co.uk/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^mywebsite.co.uk [NC]
RewriteRule (.*) http://www.mywebsite.co.uk/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php?\ HTTP
RewriteRule (.+)\.php?$ http://www.mywebsite.co.uk/$1 [R=301,L]
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME}\.php -f
RewriteRule ^(.*)$ $1.php
第一部分只是将主页重定向到一个版本。缩进部分是我用来从文件名中删除.php的部分。只需要为尚未存在的文件添加一个尾部斜杠。
答案 0 :(得分:1)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.mywebsite.co.uk/$1 [R=301,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ http://www.mywebsite.co.uk/$1/ [R=301,L,QSA]
在.htaccess文件中使用此功能删除您的代码!