我的.htaccess文件中有一条规则用干净的路径覆盖丑陋的参数网址。
以下是一个例子:
RewriteRule ^landing(/)?([0-9]+)?(/)?$ landing/index.php?intPage=$2
所以当有人进入/ landing / 3时,会加载index.php页面,将intPage参数传递为3。
很简单。
但是,我正在使用技术来追踪Google Analytics(分析),因此我需要在此网址上添加参数:
例如:
/landing/3?kt_type=ad&kt_st1=adwords&kt_st2=prize_a_us.en
问题在于,我不知道如何检索添加到URL的参数,因为URL已被覆盖,现在我无法检索kt_type,kt_st1等。
有关如何使其成为可能的任何想法,所以我仍然可以将参数添加到已经覆盖的URL?
答案 0 :(得分:2)
使用QSA flag。将您的规则更改为:
RewriteRule ^landing/?([0-9]+)?/?$ landing/index.php?intPage=$1 [L,NC,QSA]
来自官方文档:
QSA - 将原始请求URL中的任何查询字符串附加到任何查询字符串 在重写目标中创建的查询字符串