.htaccess正则表达式在最后一次斜杠之前匹配所有(甚至斜杠)

时间:2014-01-09 17:24:51

标签: regex apache .htaccess mod-rewrite

我试图抓住/ project /之后的所有内容,直到最后一个斜线,即使两者之间有斜线。这可能吗?

/project/code-cons/isting-0f_all-ch/ars/

重写为:

/project/?id=code-cons/isting-0f_all-ch/ars

我之前使用过这条规则:

RewriteRule ^project/([^/]+)/?$ index.php?pagename=project&id=$1 [L]

但是这不会将项目ID中的斜杠考虑在内,因此与规则不符。

1 个答案:

答案 0 :(得分:3)

是的,你可以使用这个正则表达式:

RewriteRule ^project/(.+?)/?$ index.php?pagename=project&id=$1 [L,QSA]

(.+?)是非贪婪的正则表达式,它将捕获所有内容,直到找到最后一个可选的正则表达式。