apache mod_rewrite从/ a / b / c到/a.php?arg1=b&arg2=c

时间:2013-06-20 23:49:29

标签: mod-rewrite apache2

我正在尝试重写。阅读URL重写指南后,我仍然有点困惑。 我想采取/ blog / 123并使其成为/blog.php?blog=123,但我无法弄清楚为什么它不起作用。我知道mod_rewrite已启用。我的.htaccess文件是:

RewriteEngine ON
RewriteRule ^/blog/([^/]+)/?$  /blog.php?blog=$1

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。我太过刻苦了。

RewriteCond /blog/%{REQUEST_FILENAME} !-d
RewriteRule /blog/([0-9]+)$ /blog.php?blog=$1

我需要做的第一件事是设定条件。 %{REQUEST_FILENAME}!-d变量表示如果目录不存在则运行规则。然后它将数字匹配到字符串的末尾。