如何通过htaccess重写这种类型的URL?

时间:2012-10-26 08:18:14

标签: php apache .htaccess mod-rewrite

我有这个重写规则。

RewriteRule ^news/([0-9]+))/? /index.php?show=news&id=$1

现在我需要在url的末尾添加一些GET数据(伙伴)。 F.E. /消息/ 1 /?伙伴= some_partner

我试过这个

RewriteRule ^news/([0-9]+))/(.*)*? /index.php$2&show=news&id=$1

因为我正在收集合作伙伴数据

if (isset($_GET['partner'])) addPartnerStat($_GET['partner']);

我需要这个url的视图/ news / 1 /?partner = some_partner,而不是/ news / 1 / partner / some_partner

2 个答案:

答案 0 :(得分:1)

为什么不使用QSA标志?

  RewriteRule ^news/([0-9]+))/? /index.php?show=news&id=$1 [QSA,L]

关于你在这里获得的旗帜的更多信息http://httpd.apache.org/docs/2.2/rewrite/flags.html

答案 1 :(得分:0)

这可能有效:

RewriteRule ^news/([0-9]+))/partner/(.*)$ /index.php$2&show=news&id=$1&partner=$2