你能解释一下这些重写规则之间有什么区别吗?
rewriterule ^news/category/(.*)/([0-9]+)/?$ index.php?p=news&category=$1&page=$2 [L,QSA]
rewriterule ^news/category/(.+)/([0-9]+)/*$ index.php?p=news&category=$1&page=$2 [L,QSA]
(.*)
和(.+)
之间的差异以及/?$
和/*$
之间的差异?
和
rewriterule ^news/category/(.*)/?$ index.php?p=news&category=$1 [L,QSA]
rewriterule ^news/category/(.+?)/*$ index.php?p=news&category=$1 [L,QSA]
(.*)
和(.+?)
之间的差异?
感谢您的帮助!
答案 0 :(得分:1)
你有格特的技术答案。 我的非技术性的#34;是:
/
结尾或不,然后应用rewriterule 以下是您可能遇到的网址问题:
news/category//548/
。news/category/whatever/548/this-is-a-problematic564string
。您可以将相同的原则应用于您的第二个比较/问题。
答案 1 :(得分:0)
(.*)
匹配零和无限次,多次尽可能回馈(贪婪)
(.+)
匹配一个和无限次,多次尽可能回馈(贪婪)
(.+?)
匹配一个和无限次,几次尽可能扩展(懒惰)
转到regex101.com以调试正则表达式
/?$
和/*$
我不确定。它始终匹配。