以下网址的重写规则是什么?
mysite.com/001234-some-keywords.html
我想捕捉6位数的参考号,如([0-9] {6})
我的索引文件是
templates/default/index.php?ref=001234
有一天我做了一个崩溃的正则表达式..我保证。
答案 0 :(得分:0)
可能
RewriteRule ^([0-9]{6}).*$ templates/default/index.php?ref=$1
([0-9]{6})
已经正确,它会捕获六位数字.*
之后匹配任何字符。 $1
被第一个捕获组()
如果您想限制网址只有恰好有六位数才能匹配,那么它应该如下所示(请注意短划线-
):
RewriteRule ^([0-9]{6})-.*$ templates/default/index.php?ref=$1
或仅在网址以.html
结尾时匹配网址:
RewriteRule ^([0-9]{6})-.*?\.html$ templates/default/index.php?ref=$1
我建议阅读mod_rewrite
documentation
另外regular-expressions.info非常适合学习正则表达式。