允许不带任何扩展名的网址重写网址,例如exemple.com/forum

时间:2011-07-17 23:34:25

标签: apache .htaccess url-rewriting

我需要在我的网站上允许http://example.com/forum这样的网址。

这是我的.htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule ^([a-z-]+)$ /$1.php [L]

目前,我收到404错误。

如果我将^([a-z-]+)$ /$1.php [L]更改为^([a-z-]+).html$ /$1.php [L],将我的网址http://example.com/forum.html更改为有效。

我想要像stackoverflow,http://stackoverflow.com/questions

这样的东西

编辑:它在localhost中与WAMP一起使用,但在网站上却没有。

缺少什么?

1 个答案:

答案 0 :(得分:1)

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

# add .php file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule (.+) /$1.php [L,QSA]
  1. 我添加了Options -MultiViews - 可以对某些配置(可能是您的情况)产生重大影响。

  2. 规则现在也在检查这样的.php文件是否确实存在。如果不是 - 不进行重写。