我无法处理一个ReweriteRule
RewriteRule ^thingsy_things_(.*)(_in_)?.*?/?$ /$1 [NC,L]
网址 www.mydomain.com/thingsy_things_name_name_in_somewhere/
但有时可能是:www.mydomain.com/thingsy_things_name_name/
该名称部分可以是name_name_name
或更多。
完美分隔符是 in 但如果(_in_)?
规则匹配第一组中的所有内容。
如何处理?
谢谢!
答案 0 :(得分:0)
你可以尝试一下:
RewriteRule ^(([a-z0-9]+)(_$1)+)$ /$1 [NC, L]
注意 - 我没有URL重写的经验,但我试图理解语法,以及我之前的正则表达式知识,为您提供此代码。请随意指出我可能使用过的错误或任何有害行为。
^(([a-z0-9]+)(_$2))+$
是检查name_name
格式
([a-z0-9]+)
是第(2)组,它捕获name
格式的name_name
部分,
(_$2)+
是对群组(2)的反向引用,这意味着name
部分必须后跟一个或多个_name
。