从URL中删除.php扩展名

时间:2015-08-01 18:45:18

标签: php .htaccess mod-rewrite redirect

我有这段代码用于从以下网址中删除.php扩展名:domain.com/file.php到:domain.com/file

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

有没有办法将.php扩展名从domain.com/file.php?action=123456删除到domain.com/file?action=123456?

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

尝试:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule (.*) $1.php [L,QSA]

答案 1 :(得分:0)

尝试此规则:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteCond %{THE_REQUEST} /file\.php\?action=([^&\s]+) [NC]
RewriteRule ^ file?action=%1 [NC,L,R]

答案 2 :(得分:0)

好的,对于那些想知道的人,我基本上回答了我自己的问题。我的原始代码适用于所有人。 :)

答案:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]