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 を持っている場合、新しい Cookie が生成されないようにする方法はありますか?

4

0 に答える 0