如果我正在修改 URL 来自:
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 是否将其丢弃?
我的重写规则:
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
我认为这应该可行,但出于某种原因,目前不适合我。
最佳答案
您可以将 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。
关于php - Mod_rewrite 和 $_GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498966/