如果请求的一部分短于 255 个字符(与缓存和 linux 中的 255 个字符的文件名限制有关),我希望 apache 跳过某些重写。
我写了这个:
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
) 测试了正则表达式,它匹配但 query_string 变量似乎有不同的内容,因为这之后的 2 条规则仍然被执行。在这种情况下应该匹配的部分page?utm_campaign=xxx&utm_medium=xxx
(以及之后的所有内容)如果它少于 255 个字符,则可以跳过接下来的 2 个重写规则。
我正在使用 Drupal 6 顺便说一句。