重写 Url 参数不起作用

rewrite Url parameters doesn't work

我愿意用 htaccess 重写 url:

RewriteEngine On
RewriteBase /
RewriteRule    ^low/?\?id=([0-9]+)$    index.php?serv=5&id=    [NC,L] #doesnt work

但我没有成功将参数从第一个重定向到更改后的 url。它给我一个错误 404

但如果我简单地做:RewriteRule ^low/?$ index.php?serv=5 [NC,L],它确实有效

您无法匹配 RewriteRule 中的查询字符串。此外,您不需要捕获查询字符串,因为如果您使用 QSA 标志,因为 QSA(查询字符串追加)标志会在添加新参数时保留现有查询参数,因为它将传递给目标。

RewriteEngine On
RewriteBase /

RewriteRule ^low/$ index.php?serv=5&id= [QSA,NC,L]