将参数发布到htaccess sef链接

时间:2015-10-20 09:41:07

标签: linux apache .htaccess mod-rewrite query-string

我有以前的网址:

 http://www.demo.com/a/abcd

我使用此htaccess发布此网址的值

RewriteRule ^a/(.*)$ /details.php?sef=$1 [L,NC]

但我需要在网址上发布新参数 例如:

 http://www.demo.com/a/abcd?id=123&qu=11

那么如何通过此网址获取 id qu 变量值而不对网址进行任何更改?

1 个答案:

答案 0 :(得分:2)

来自Apache's docs on mod-rewrite

  

修改查询字符串

     

默认情况下,查询字符串不会更改。您可以,   但是,在包含查询的替换字符串中创建URL   字符串部分。只需在替换字符串中使用问号   表示应将以下文本重新注入   请求参数。如果要删除现有查询字符串,请结束   替换字符串只有一个问号。结合新旧   查询字符串,使用[QSA]标志。

因为,您正在重写中编写查询字符串,请使用QSA标志:

RewriteRule ^a/(.*)$ /details.php?sef=$1 [NC,QSA,L]