htaccess重定向用户友好的网址以获取变量' url'和查询字符串最后要添加

时间:2014-09-10 08:48:17

标签: .htaccess url mod-rewrite

我有一个htaccess文件,当前将整个url减去任何查询字符串,指向查询字符串变量url ....

RewriteRule ^([a-z0-9_-/]+)/?$ index.php?url=$1 [NC,L]

页/子页面/重要/啄/ΔT= 10

变为

的index.php?URL =页/子页面/重要/啄/

最初设计忽略了查询字符串。现在我们需要它添加但是以这样的方式......

页/子页面/重要/啄/ T = 10安培;名称=鲍勃&安培;食品=干酪

应该成为......

的index.php的 URL = 页/子页面/重要/啄/ &安培;ΔT= 10 &安培;名称= 的鲍勃的&安培;食品= 干酪

简而言之,用户友好的组件被分配到一个get变量url,其余的被加上。

有谁能告诉我从哪里开始这个或如何修改重写规则以允许这个?

2 个答案:

答案 0 :(得分:1)

您只需使用QSA标志来附加查询字符串。

RewriteRule ^([a-z0-9_-/]+)/?$ index.php?url=$1 [NC,L,QSA]

答案 1 :(得分:0)

根据http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa @Justin Iurman的回答应该已经解决了,即QSA旗帜。

我终于使用以下方法设法实现了这个目的:

RewriteRule ^([a-z0-9_-/]+)?$ index.php?url=$1&%{QUERY_STRING} [NC,L]