Mod_rewrite和$ _GET变量

joh*_*ack 4 php url mod-rewrite get

如果我是mod_rewriting来自的URL:

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

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

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

我的REWRITE规则:

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

例:

我可以去 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

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

小智 9

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

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

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

但是,要小心,因为请求page_1.html?id=2将重定向到page.php?id=1&id=2,并且(在PHP中)$_GET['id']将是2.