--Apache Rewrite 将查询字符串附加到所有流量并防止重定向循环
--Apache Rewrite Append Query String to all traffic and prevent re-direct loop
使用:Apache 2.2.17
我正在尝试将包含用户代理的查询参数附加到所有传入请求,但是我尝试的每件事都会导致循环。
我尝试过的事情:
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule /(.*) /?Agent=%{HTTP_USER_AGENT} [R=301,QSA,L]
-
RewriteRule /(.*) /?Agent=%{HTTP_USER_AGENT} [R=301,QSA]
RewriteCond %{ENV:REDIRECT_STATUS} !=""
RewriteRule /.* - [L]
-
RewriteRule /(.*) /?Agent=%{HTTP_USER_AGENT} [R=301,QSA,E=stop:1]
RewriteCond %{ENV:stop} =1
RewriteRule /.* - [L]
根据上述规则,我得到了一个重定向循环。
只是走错了路。以下有效:
RewriteCond %{QUERY_STRING} !^(.*)AddAgent(.*)$
RewriteRule ^/(.*)$ /?AddAgent=%{HTTP_USER_AGENT} [R=301,QSA,L]
使用:Apache 2.2.17
我正在尝试将包含用户代理的查询参数附加到所有传入请求,但是我尝试的每件事都会导致循环。
我尝试过的事情:
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule /(.*) /?Agent=%{HTTP_USER_AGENT} [R=301,QSA,L]
-
RewriteRule /(.*) /?Agent=%{HTTP_USER_AGENT} [R=301,QSA]
RewriteCond %{ENV:REDIRECT_STATUS} !=""
RewriteRule /.* - [L]
-
RewriteRule /(.*) /?Agent=%{HTTP_USER_AGENT} [R=301,QSA,E=stop:1]
RewriteCond %{ENV:stop} =1
RewriteRule /.* - [L]
根据上述规则,我得到了一个重定向循环。
只是走错了路。以下有效:
RewriteCond %{QUERY_STRING} !^(.*)AddAgent(.*)$
RewriteRule ^/(.*)$ /?AddAgent=%{HTTP_USER_AGENT} [R=301,QSA,L]