我在我的 drupal 项目中使用了 Boost 模块,缓存页面是在 cache/normal/domain/ 下创建的,但缓存页面从未为匿名用户服务。这是我的 .htaccess 文件,位于我的 drupal 根目录下。以下是我尝试的一些要点:
- 我确认缓存文件夹有 755 mod,我什至尝试了 777。
- 我确定我要注销以进行检查。
- 我尝试将 %{DOCUMENT_ROOT} 或 %{HTTP_HOST}% 替换为真实路径或 url。
- 我试图用 %{SERVER_NAME} 替换 %{HTTP_HOST}%。
- 我试图清除缓存。
- 我试图卸载模块并重新安装它,重置它并为其创建一个新的缓存文件夹。
- 我确认我将生成的设置复制到 .htaccess 文件中。
- 我试图改变浏览器(chrome和firefox)
- 我确认我启用了干净的 url。
但如果没有运气,他们都无法让它发挥作用。
有人可以给我一些建议吗?谢谢!
下面是我在 .htaccess 文件中的提升设置
# RewriteBase /
### BOOST START ###
# NORMAL - Cached css & js files
RewriteCond %{DOCUMENT_ROOT}/cache/perm/%{HTTP_HOST}%{REQUEST_URI}_\.css -s
RewriteRule .* cache/perm/%{HTTP_HOST}%{REQUEST_URI}_\.css [L,QSA,T=text/css]
RewriteCond %{DOCUMENT_ROOT}/cache/perm/%{HTTP_HOST}%{REQUEST_URI}_\.js -s
RewriteRule .* cache/perm/%{HTTP_HOST}%{REQUEST_URI}_\.js [L,QSA,T=text/javascript]
# Caching for anonymous users
# Skip boost IF not get request OR uri has wrong dir OR cookie is set OR request came from this server OR https request
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD)$ [OR]
RewriteCond %{REQUEST_URI} (^/(admin|cache|misc|modules|sites|system|openid|themes|node/add|comment/reply))|(/(edit|user|user/(login|password|register))$) [OR]
RewriteCond %{HTTPS} on [OR]
RewriteCond %{HTTP_COOKIE} DRUPAL_UID
RewriteRule .* - [S=2]
# NORMAL
RewriteCond %{DOCUMENT_ROOT}/cache/normal/%{HTTP_HOST}%{REQUEST_URI}_%{QUERY_STRING}\.html -s
RewriteRule .* cache/normal/%{HTTP_HOST}%{REQUEST_URI}_%{QUERY_STRING}\.html [L,T=text/html]
RewriteCond %{DOCUMENT_ROOT}/cache/normal/%{HTTP_HOST}%{REQUEST_URI}_%{QUERY_STRING}\.xml -s
RewriteRule .* cache/normal/%{HTTP_HOST}%{REQUEST_URI}_%{QUERY_STRING}\.xml [L,T=text/xml]
### BOOST END ###
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.