mod_rewrite规则不能按预期方式工作

我试图定义一个mod重写规则应该这样工作:contact.php – > index.php?page = contact

我的htaccess文件有以下内容:

RewriteEngine On RewriteBase / RewriteRule ^%1$ index.php?page=%1 [L] 

不幸的是,这给了我一个404.任何想法有什么不对? 谢谢

尝试这个:

 RewriteRule ^/([a-zA-Z_-]+)\.php$ index.php?page=$1 

这应该捕获/something.php的请求,然后加载index.php?page =东西。 只要“东西”只包含小写或大写字母(a到z),下划线或连字符。 如果您需要一组不同的规则来组成有效页面的名称,请添加或删除字符。