我有一个如下所示的查询字符串:
widget.com/?id=1555&a1=chosen&w=hello
我正在尝试修改此代码:
SetEnvIf Referer "^https?://(.*)/" myref=$1
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !corz.org [NC]
RewriteRule . - [cookie=original-referer:%{ENV:myref}:.%{HTTP_HOST}:1440:/]
但是我不想使用Referer作为RewriteCond,而是想确定a1=chosen
基于来自 widget.com/?id=1555&a1=chosen&w=hello 的 QueryString
我当前的代码如下所示:
SetEnvIf Referer "^http?://(.*)/" myref=$1
RewriteCond %{QUERY_STRING} a1=chosen
RewriteRule . - [cookie=source:%{ENV:myref}:.%{HTTP_HOST}:1440:/]
我认为问题出在我为查询字符串参数重写条件的方式上。我确实花了 12 个小时搜索和尝试不同的正则表达式。
我还想确保如果 a1=chosen 不在此表达式中,或者可能具有不同的值,则不会创建 cookie。
谢谢你看看这个。
我只是想让它工作。哈哈
我可以让原始代码工作并从 .htaccess 设置一个 cookie,但我已经搜索了 12 个小时,但无济于事。
另外,有没有办法确保如果有人已经有一个 cookie 不会生成一个新的?