正则表达式


0

我需要编写一个与以下字符串匹配的mod_rewrite规则:

/modules/users/users/ae/ghwjzL9D2qpnPqv3FRY3JTZ48N

字符串中唯一不变的部分是/ae/

我需要一个正则表达式之前赶上字符串的一部分/ae/之后/ae/,并适当地重定向。

所以这样的事情

网址输入: /modules/users/users/ae/ghwjzL9D2qpnPqv3FRY3JTZ48N

RewriteRule ^([a-z0-9\-\/])+\/ae\/([a-zA-z0-9])* $1/file.php?id=$2

网址处理: /modules/users/users/file.php?id=$2

到目前为止我能够捕获网址但无法获得正确的变量


2
你可能想把它放在*之后],之前); 即,…0-9]*)
斯科特

Answers:


0

是的,你是对的,我不得不调整它一点点:

^([a-zA-z0-9\/]+)\/ae\/([a-zA-z0-9]*)

当然,原因是您希望首先匹配一系列字符,然后将整个系列用作单个组。(您不希望每个组都有一个由单个字符组成的组!)因此,(…)分组的parens必须包围您想要放入变量的整个匹配器。
grawity
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.