Php 即使键入了文件扩展名,也强制删除文件扩展名

Php 即使键入了文件扩展名,也强制删除文件扩展名,php,.htaccess,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

我在我的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
试试这个:

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]

以前有人问过这个问题:。试着通读已接受的答案,看看这是否适合您。您需要重定向到非php版本,如
^(.*?.php)?$