htaccess将.php添加到没有扩展名的所有内容中

时间:2013-06-11 16:07:01

标签: apache .htaccess

我正在寻找副本,但我很难找到我认为应该是一个简单的答案。

.php添加到没有扩展名的任何内容的重写规则是什么?

的示例:

www.website.com/styles.css - > www.website.com/styles.css

www.website.com/login - > www.website.com/login.php

谢谢!

2 个答案:

答案 0 :(得分:9)

以下内容可能符合您的需求:

RewriteEngine On
RewriteBase /

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

这会自动将.php扩展名添加到没有扩展名的文件名。它可能会尝试将something.css重命名为something.css.php,但只有在存在something.css.php时才会这样做。

答案 1 :(得分:2)

要扩展@quinxorin的答案,您还可以执行以下操作。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_FILENAME}\.php ^(.*)\.php(.*)$
RewriteRule .* %1.php?%2 [QSA]

这会将url的其余部分附加到结果中。即/page/1234变为/page.php?1234