使用 https 的 Drupal 模块 Boost,提取错误的缓存页面

Drupal module Boost with https, pulling the wrong cache pages

我正在我的网站上实现 Drupal 的提升模块,并且 运行 解决了这个缓存问题。该网站缓存页面,但当以匿名用户身份访问时,它会给我错误的缓存页面。我住在爱尔兰,希望看到该网站的爱尔兰版本,但一旦主页被缓存,它就会给我该网站的美国版本。

这是我实现 Boost 所采取的步骤列表

我有一种感觉,我可能必须在 .HTACCESS 文件中编写一些自定义代码才能使其正常工作,但在我继续之前,我真的想要更多的 incite。

目前,未缓存版本的站点在每个国家/地区都可以正常提供,但速度非常慢。

所以总结一下,我真正需要 Boost 为我做的是缓存类似 200 个版本的站点(这是我们为站点提供服务的国家/地区),并为这些国家/地区提供正确版本的站点.这可能吗?我该如何实施?

非常感谢任何帮助,谢谢。

更新 1

将此处的代码添加到 .HTACCESS 后

RewriteCond %{HTTP:Accept-Language} ^et.*$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{QUERY_STRING} !(^q\=) [NC]
RewriteRule ^(.*)$ /et [L,R=302]
RewriteCond %{HTTP:Accept-Language} ^fi.*$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{QUERY_STRING} !(^q\=) [NC]
RewriteRule ^(.*)$ /fi [L,R=302]

并通过几个不同的代理访问该站点,我将其缓存在其所在国家/地区,但现在的问题是它仅缓存来自匿名访问者的第一个国家/地区。

我的主页在 cache/normal/SITES_NAME/en_.html 我来自巴西、德国、美国、南非洲或爱尔兰,它只是在 en_.html 中缓存第一个,并在真正需要为每个国家/地区创建一组新的缓存文件时将其提供给任何地方。

我一直在使用 geopeeker.com 和不同的代理来查看来自世界不同地区的页面。

如果您使用路径前缀来检测语言,Boost 将不起作用。

您必须将此添加到您的 .htaccess 中才能解决问题。

RewriteCond %{HTTP:Accept-Language} ^et.*$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{QUERY_STRING} !(^q\=) [NC]
RewriteRule ^(.*)$ /et [L,R=302]
RewriteCond %{HTTP:Accept-Language} ^fi.*$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{QUERY_STRING} !(^q\=) [NC]
RewriteRule ^(.*)$ /fi [L,R=302]

link 提供了更多信息。