クエリ文字列パラメータを削除し、その値からCookieを作成するために、Apache2.4書き換えルールを作成しています。
例えば:
http://example.com/?param1=value1&my_param=my_value¶m2=value2
に
http://example.com/?param1=value1¶m2=value2
apache RewriteRuleを使用してCookieを正常に設定していますが、先頭に追加されたクエリ文字列のparam値をCookie値として設定したいと思います。
クエリ文字列からmy_param = my_valueを削除した場合
cookieの値をmy_valueにしたい
これは私がこれまでに行ったことですが、唯一の問題は、「my_value」を取得するために理解できないことです。
RewriteCond %{QUERY_STRING} (.*)(?:^|&)utm_source=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(.*)$ $1?%2 [CO=utm_source:my_value_here:.example.org:1440:/,R=301]
どんな助けでも大歓迎です!
私の間違いはキャッシュを実行する301でした、私はそれをより単純なrewriteRuleで動作させます
RewriteCond %{QUERY_STRING} ^(.*)my_param=([^&]+)&?(.*)$
RewriteRule ^(.*)$ /$1?%1%3 [CO=my_param:%2:.example.com:1440:/,R=302]