1

我有一个如下所示的查询字符串:

 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 不会生成一个新的?

4

0 回答 0