使用.htaccess将动态查询变量添加到所有网址

时间:2015-09-01 02:13:59

标签: php .htaccess

我尝试将查询参数添加到网站上所有网址的末尾,但该值必须是动态的。

RewriteCond %{QUERY_STRING} !(^|&)testing=true(&|$) [NC]
RewriteRule ^ %{REQUEST_URI}?testing=true [L,QSA,R]

This回答(上面的代码)与我的需求非常接近,但我需要' true'根据用户提供的值进行更改。一个例子是各种广告系列ID

http://domain.com/?campaign=32324

当用户点击此页面中的链接时,这些链接应附加?campaign = 32324

http://domain.com/somepage/?campaign=43454

1 个答案:

答案 0 :(得分:0)

如果您想将查询字符串附加到网址,我相信这就是您正在寻找的内容。

当然,您的参数和/或其值可以通过多种方式填充。它可以从上一页传递,由$_GET['something']填充或由数据库查询提供,并从结果中填充。

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^([A-Za-z0-9_-]+)$    your-page.php?your-parameter=$1    [NC,L] # Handle query string with no slash
RewriteRule    ^([A-Za-z0-9_-]+)/$    your-page.php?your-parameter=$1    [NC,L] # Handle query string with a slash

[A-Za-z0-9_-]部分允许参数值包括上限和上限。小写字母,数字,下划线和连字符。如果你想要的只是数字(如你的例子中所示),只需删除方括号之间的所有内容,除了0-9,如此... [0-9]