的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重写规则:
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
我认为守ld工作,但由于某种原因,目前它不适合我。
答
您可以添加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.
答
可以使用QSA(查询字符串附加)标志来追加它。
RewriteEngine on
RewriteRule {from-url} {to-url} [L,NC,QSA]
如果不查看您的RewriteRule,则无法回答此问题。 – 2009-09-30 15:48:41
它现在被添加...道歉 – johnnietheblack 2009-09-30 15:51:34