不能在 RewriteCond QUERY_STRING 中使用括号

不能在 RewriteCond QUERY_STRING 中使用括号

我需要从旧的 URL 中捕获 UID 并将其重定向到新格式。

example.com/?uid=123应该重定向到example.com/user/123

什么应该起作用......

RewriteCond %{QUERY_STRING} ^uid=(\d+)$
RewriteRule ^$ /user/%1? [L]

这根本没有重定向。

然而,这确实……

RewriteCond %{QUERY_STRING} ^uid=\d+$
RewriteRule ^$ /user/%1? [L]

它转到example.com/user。UID 被省略,但它确实重定向。

注意:我所做的只是删除第二个例子中的括号。

这是为什么?我如何匹配查询并捕获 UID 的值?

相关内容