Mod_rewrite重写URL规则什么都不做

时间:2014-03-11 10:19:59

标签: apache .htaccess mod-rewrite

我无法让我的阿帕奇清理我丑陋的网址。

我知道mod_rewrite有效,因为我已经尝试过这条规则:

RewriteEngine on
RewriteRule ^oranges.html$ apples.html

它显示了apples.html页面。

我正在尝试使用它,但它没有做任何事情!

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1

我想要这个网址:http://example.com/index.php?page=search

看起来像这样:http://example.com/search/

这里有什么问题? :○

2 个答案:

答案 0 :(得分:0)

试试这个:

Options -Multiviews +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([a-zA-Z0-9]+)[/]*$ index.php?page=$1

请注意+ FollowSymLinks选项,它是重写工作所必需的,而-Multiviews可能会重写。

我还调整了你的规则,使尾随斜杠可选

答案 1 :(得分:0)

如果index.php不在DocumentRoot级别,请确保相对URL构成规则的一部分,例如就我而言,我有一个公共目录。

Options -Multiviews +FollowSymLinks
RewriteEngine on
RewriteBase /public
RewriteRule ^(.*)$ index.php?page=$1