1

我使用 index.php 作为我的入口脚本。我想对我的 htaccess 应用特定的重写规则,以更好的格式查看我的 URL

现在我已经成功地匹配我的控制器和动作只使用

RewriteRule ^(.*)$ /mysite/index.php?r=$1 [L]

所以我可以使用这些网址中的任何一个

domain.com/users/user =>  /mysite/index.php?r=users/user
domain.com/contacts/contact =  /mysite/index.php?r=contacts/contact

我想在我的 URL 中添加一些额外的 get 变量,以获取特定的记录,例如

domain.com/users/user/id/10

或者

domain.com/contacts/contact/id/2/name/5

现在我只能这样做:

domain.com/users/user&id=10 = > /mysite/index.php?r=users/user&id=10

domain.com/contacts/contact&id=2&name=5 => /mysite/index.php?r=contacts/contact&id=2&name=5

如何更改我的重写规则以支持 GET 变量?

4

1 回答 1

1

添加QSA标志:

RewriteRule ^(.*)$ /mysite/index.php?r=$1 [L,QSA]
  • QSA 代表Query String Append确保在添加新查询参数时保留现有查询字符串。

参考:Apache mod_rewrite 简介

于 2013-10-16T12:30:30.113 回答