php - Mod_rewrite 和 $_GET 变量

标签 php url mod-rewrite get

如果我正在修改 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/

相关文章:

mod-rewrite - 如何在使用通配符的 Directory 指令中使用 apache2 mod_rewrite?

php - 如何为 Yii 2 baseurl 指定域名

php - MySql ORDER BY 多列 IF AND

java - 合并两个相对文件 URL

javascript - 使用正则表达式或 Javascript 从 URL 获取文件名

php - 如何在文件中传递超过 9 个参数。 htaccess(mod_rewrite)?

ajax爬取的Apache重写条件

javascript - PHP/JavaScript 不读取文本文件

PHP:使用inkscape将eps转换为svg

ios - 检查一个 URL 是否有 http ://prefix