htaccess添加.php到没有扩展名的所有东西

我正在四处寻找重复,但我很难find我认为应该是一个简单的答案。

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

例子:

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

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

谢谢!

以下可能适合您的需求:

 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时才会这样做。

要扩大@ 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