.htaccess重定向 - 将GET变量添加到最后

时间:2017-04-19 13:44:23

标签: apache .htaccess

我有一些通配符重定向,目前工作正常...

https://www.domain-name.com/$1

但是,我想在它之后添加一个GET变量,以便在我的CMS中,我可以跟踪引用者。我已尝试过以下内容,但只是将$ 1输出到URL。

https://www.domain-name.com/$1?redirect=foobar

希望这是一个简单的解决方法!

编辑 - 这些重定向是从cPanel生成的,因此生成的代码是......

RewriteCond %{HTTP_HOST} ^domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.domain\.uk\/\$1\?redirect\=redirect" [R=301,L]

1 个答案:

答案 0 :(得分:1)

这里没有通配符重定向。它只是将主页重定向到字面/$1?redirect=redirect。此外,转义(\)目标网址的任何字符都没有意义。

为了使用附加的查询字符串将每个请求重定向到自身

# prevent a redirect loop
RewriteCond %{QUERY_STRING} !redirect=
# append query string
RewriteRule ^(.*)$ https://www.domain.uk/$1?redirect=foobar [R,L]

如果您想保留任何现有的查询字符串,请添加QSA标记,例如R,L,QSA

如果一切正常,您可以将R替换为R=301permanent redirect)。 从不使用R=301进行测试。