重写Url参数不起作用

时间:2015-09-16 13:13:40

标签: regex apache .htaccess mod-rewrite url-rewriting

我愿意用htaccess重写网址:

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

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

但如果我只是这样做:RewriteRule ^low/?$ index.php?serv=5 [NC,L],它确实有用

1 个答案:

答案 0 :(得分:1)

您无法匹配RewriteRule中的查询字符串。此外,如果您使用QSA标志QSA(查询字符串追加)标记保留现有查询参数,同时添加新的查询字符串,则不需要捕获查询字符串之一。

RewriteEngine On
RewriteBase /

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