Tho*_*asD 1 regex url-rewriting
我有以下正则表达式,但是如果存在,我如何完全删除查询字符串:
^~/(.*)/restaurant/(.*)
例如。网址
/seattle/restaurant/sushi?page=2 
要么
/seattle/restaurant/sushi?somethingelse=something 
要么
/seatthe/restaurant/sushi 
应该只返回seattle和restaurant,sushi并删除所有存在的查询字符串。
(很抱歉重新发布了类似的问题,但在上一个问题中我找不到答案)。
谢谢
汤玛士
此正则表达式:
(/[^?]+).*
应该与您网址的开头部分匹配,然后放入一个组中。
因此它将匹配/seattle/restaurant/sushi并将值放在一个组中。
您可以使用类似这样的方式:(/.*?/restaurant[^?]+).*如果您只想处理restaurant以斜线之间的第二个单词作为单词的URL。
编辑:像这样的东西应该得到3组/(.*?)/(restaurant)/([^?]+).*。组1为seatthe,组2为restaurant,组3为sushi。如果在最后/一个之后有一个?,则正则表达式将丢弃?和之后的所有内容。