mod重写友好网址

时间:2015-07-03 14:22:48

标签: regex apache .htaccess mod-rewrite

我是正则表达式的新手,需要重写一个示例网址:

http://domain.com/quiz.php?id=1

到友情网址,看起来像论坛网址,如下所示:

http://domain.com/1-quiz-title

所以1是GET变量。标题必须只是小写

我尝试了以下但似乎不正确:

RewriteRule ^([a-z0-9\-]+)$ quiz.php?id=$1 [L]

它将GET变量选为1-quiz-title,而它应该仅为1

由于

1 个答案:

答案 0 :(得分:0)

如果get变量只是数字,那么你想要正则表达式是这样的:

RewriteRule ^([0-9]+)- quiz.php?id=$1 [L]

因此正则表达式首先匹配一些数字并将其分组(括号),匹配“ - ”。请注意,匹配结束时没有$,这实际上将完全忽略标题,甚至不会尝试匹配它。标题不需要在重写的URL中,因此我们并不关心-后的内容。