为什么 apache 会向 URI 添加.php


Why apache adds .php to URI

注意到Apache的奇怪行为。我正在使用mod_rewrite重定向每个

RewriteCond %{REQUEST_URI} !^.*css|gif|js|png$
RewriteRule ^(.*)$ index.php?q=$1 [QSA]

所以当我输入时 www.example.com/something

浏览器中,在索引内部.php$_REQUEST['Q'] 返回"某物"

但是除了索引之外.php根文件夹中还有其他一些php文件(例如profile.php(。

所以当我输入时

www.example.com/profile

内部索引.php $_REQUEST['Q'] 返回 'profile.php'

为什么会出现这种.php?

我的猜测是MultiViews已启用。 尝试通过添加以下内容来禁用它:

Options -MultiViews

到您的.htaccess文件。