重定向/ htaccess规则杀死查询字符串以使用wordpress超级缓存

时间:2013-11-03 19:47:25

标签: php wordpress .htaccess caching mod-rewrite

很惊讶我找不到答案,所以张贴给别人以及得到一些帮助。

我有一个非常繁忙和复杂的wordpress网站。它大量使用超级缓存。最近我意识到页面速度慢的问题是用户来到绕过Supercache的页面,这是因为该网站使用了很多通过查询字符串类型URL来推荐的人。

www.site.co.uk/page/page/?utm_source=newsletter&utm_medium=email&utm_campaign=osale_3&cid=randomstringofnonsense

由于最后一位是20字符串随机字符串,因此该站点从头开始生成此Url并添加到缓存列表中。理想情况下,我希望他们只是指向正确的页面并使用与普通人一样的缓存。换句话说,终止查询字符串并使用缓存的原始文件:

www.site.co.uk/page/page/

这是我到目前为止所做的,但不能让它重定向或服从。

RewriteCond %{QUERY_STRING} ^utm_source=\*+$
RewriteRule ^$ /? [R,L]

旨在查看这是否显着提高了服务器速度,如果是这样,还原为javascript以从查询字符串中获取任何值。 理想情况下,URL不会更改,但会为用户提供缓存版本。

请帮助。

先谢谢你,Sam

1 个答案:

答案 0 :(得分:0)

我认为@anubhava为我们清理了轻松的工作; - ):

RewriteEngine On
RewriteCond %{QUERY_STRING} ^utm_source=
RewriteRule ^(.*)$ /$1? [R,L]

这样做:

  1. www.site.co.uk/page/page/?utm_source=newsletter&utm_medium=email&utm_campaign=osale_3&cid=randomstringofnonsense => www.site.co.uk/page/page /
  2. www.site.co.uk/page/page?utm_source=newsletter&utm_medium=email&utm_campaign=osale_3&cid=randomstringofnonsense => www.site.co.uk/page/page
  3. www.site.co.uk/?utm_source=newsletter&utm_medium=email&utm_campaign=osale_3&cid=randomstringofnonsense => www.site.co.uk /