Mod_rewrite和$ _GET变量

时间:2009-09-30 15:43:36

标签: php url mod-rewrite get

如果我是mod_rewriting来自:

的网址

http://www.mysite.com/blog/this-is-my-title/1/

http://www.mysite.com/blog.php?title=this-is-my-title&id=1

...以后可以随意将一个get值附加到URL上,或者mod_rewrite是否会将其抛弃?

MY REWRITE RULE:

RewriteRule    ^blog/([A-Za-z]+)/(0-9]+)/?    blog?title=$1&id=$2     [L]

实施例

我可以去吗? http://www.mysite.com/blog/this-is-my-title/1/?first=Johnnie&last=Wiggles

这基本上意味着

http://www.mysite.com/blog.php?title=this-is-my-title&id=1&first=Johnnie&last=Wiggles

我认为这应该有效,但由于某种原因,目前不适合我。

2 个答案:

答案 0 :(得分:9)

您可以将QSA添加到RewriteRule标志:

RewriteRule page_([0-9]+)\.html page.php?id=$1 [QSA]

page_1.html?a=2重定向到page.php?id=1&a=2

但是,请注意,因为请求page_1.html?id=2会重定向到page.php?id=1&id=2,而(在PHP中),$_GET['id']将为2。

答案 1 :(得分:3)

可以使用QSA(查询字符串追加)标记附加它。

RewriteEngine on
RewriteRule {from-url} {to-url} [L,NC,QSA]