リクエストの一部が255文字より短い場合に備えて、Apacheに特定の書き換えをスキップさせたい(キャッシュとLinuxの255文字のファイル名制限に関係している)。
私はこれを書いた:
RewriteCond %{QUERY_STRING} "utm_campaign"
RewriteCond %{QUERY_STRING} "utm_medium"
RewriteCond %{QUERY_STRING} ^(.*\/)([^\/\n]{0,255})$
RewriteRule .* - [S=2]
そして、url ( q=path/to/page?utm_campaign=xxx&utm_medium=xxx
) に対して正規表現をテストしたところ、一致しましたが、この後の 2 つのルールがまだ実行されているため、query_string 変数の内容が異なっているようです。一致する必要があるのはこの場合page?utm_campaign=xxx&utm_medium=xxx
(およびこれ以降のすべて) です。これが 255 文字より短い場合は、次の 2 つの書き換えルールをスキップできます。
Drupal 6 を使用しています。