我正在使用Wordpress的正则表达式' add_rewrite_rules。
我的目标是将具有单个目录的URL与至少一个破折号匹配并返回该目录。
我能够找到这个:
'^([a-zA-Z0-9]*-[a-zA-Z0-9]*){1,20}/?$' => 'index.php?pagename=location&location=$matches[1]'
如果有连字符,则匹配,但仅返回字符串的结尾(最后一个连字符后面的部分)。
所以:
test/
失败了(因为它没有连字符)
te-st/
通过,但只返回" st"对于变量。
te-st-ing/
通过,但只返回" ing"对于变量。
te-st-ing/a/
失败(因为有另一个目录)
我对表达有点迷失,但目标是" te-st"会通过,但会回归整个" te-st"串。我认为对于知道如何处理表达式的人来说,这应该是一个简单的解决方法吗?
谢谢!
答案 0 :(得分:0)
为确保至少有一个连字符,您可以使用:
'^([^-/]*-[^/]*)/?$' => 'index.php?pagename=location&location=$matches[1]'
答案 1 :(得分:0)