2014-01-09 39 views
2

我试图捕捉/ /项目/直到最后一个斜杠,即使有斜线之间的一切。这可能吗?.htaccess正则表达式匹配所有(甚至斜杠)在最后一个斜杠之前

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

我以前使用这个规则:以

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

重写

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

但是,这并不需要在项目ID斜线考虑,因此不符合规则。

回答

2

是你可以使用这个表达式:

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

(.+?)是非贪婪的正则表达式,直到最后一个可选的正则表达式被发现,将捕获的一切。

+2

OP可能要看看[这里](http://stackoverflow.com/questions/1547899/which-characters-make-a-url-invalid)取决于他/她希望字符串有多有效是。 '。+?'字面意思是*任何*字符。 – tenub