默认为Web服务器上的PHP扩展

有没有办法.htaccess文件可以这样写

http://www.mysite.com/about 

加载about.php

和任何文件一样?

我试过了

 RewriteEngine On RewriteRule ^([0-9A-Za-z]+)$ $1.php 

但似乎并不奏效。

这是最常见的规则(利用mod_rewrite确保它被加载和启用 ) – 它将确保这样的.php文件在重写之前确实存在(是的,它有点慢但更安全):

 Options +FollowSymLinks RewriteEngine On # add .php file extension RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.+)$ $1.php [L] 

或者只是使用这个:

 Options +MultiViews 

这将打开“内容协商”。 但是它有一些缺点。

例如:假设您的网站根文件夹中有hello.htmlhello.php 。 如果您请求example.com/hello ,启用该选项,Apache将查找替代名称(相同名称,但扩展名不同),并将提供hello.htmlhello.php (我无法分辨哪个是首选)。

但是,如果你只有一个这样的唯一名称的文件(例如hello.php ),那么这里根本没有问题。