强制删除文件扩展名,即使它是键入的

时间:2015-03-06 21:12:17

标签: php .htaccess

我在我的htaccess文件中使用下面的代码,该文件始终将网站发送到www版本,并允许在php中删除文件扩展名。但是,如果访问者键入了扩展程序,它仍然会显示它。

即使访问者输入文件扩展名,如何删除文件扩展名?

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

1 个答案:

答案 0 :(得分:0)

试试这个:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{REQUEST_URI} ^(.*)\.php$ [NC] 
RewriteRule ^ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

如果您希望仅在php实际存在时才重定向到非php版本,请使用

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^(.*)\.php$ [NC] 
RewriteRule ^ %1 [R=301,L]