使用QSA的HTAccess mod重写问题

时间:2010-04-04 20:54:51

标签: php .htaccess mod-rewrite query-string

我想在URL中添加一个参数,但目前它没有在$ _GET全局中显示。 我的htaccess文件的片段如下:

RewriteRule ^account/blogs/([0-9]+)/([^\s?]+)/?$ /account/blog.php?blogId=$1 [L,QSA]

然后在我的PHP代码中我想添加一个链接,如:

  

/帐户/博客/ 1 / ThisIsWhereTheTitleGoes?删除= 1

通配符(任何char但空格)选项用于博客标题,因为我永远不知道它会是什么。我知道想在末尾添加查询字符串参数,例如?delete = 1。然而,我不希望这是重写的一部分。

有人知道怎么回事吗? 感谢

1 个答案:

答案 0 :(得分:1)

我最好的选择是简单地将get变量添加到正则表达式中,如下所示:

RewriteRule ^account/blogs/([0-9]+)/([^\s?]+)/?(\?(.*))?$ /account/blog.php?blogId=$1&$4 [L,QSA]

这会重写

/account/blogs/1/ThisIsWhereTheTitleGoes?delete=1

/account/blog.php?blogId=1&delete=1

它还支持其他变量。