Drupal boost кеширует каждый раз
Я генерирую HTML-кеш, используя Drupal 7 Boost модуль. Я использую сервер балансировки нагрузки, и html-файлы кэша находятся в узле 1, узле 2 и узле 3. Если эта папка кэша имеет разрешение 775 с владельцем в качестве "root" и группой в качестве "root", когда страница доступа пользователя, есть вопрос разрешения в логах drupal как The file permissions could not be set on cache/normal/IP_ADDRESS/PATH_TO_FILE/NAME_OF_THE_FILE.html
(& файлы кеша не восстанавливаются)
Если эта папка кэша имеет разрешение 775 с владельцем как apache
и группа как apache
, Когда пользовательский доступ к странице, нет разрешения проблемы. Но кэш восстанавливается всякий раз, когда пользователь получает доступ к странице.
Эта проблема возникла из-за разрешения сервера? или из-за конфигурации Drupal Boost.
Ниже приведены настройки буста.htacces.
### BOOST START ###
# Allow for alt paths to be set via htaccess rules; allows for cached variants (future mobile support)
RewriteRule .* - [E=boostpath:normal]
# 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} (^/vc/vacanze-in-montagna/(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 [OR]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [S=3]
# GZIP
RewriteCond %{HTTP:Accept-encoding} !gzip
RewriteRule .* - [S=1]
RewriteCond %{DOCUMENT_ROOT}/vc/vacanze-in-montagna/cache/%{ENV:boostpath}/LOAD_BALANCER_IP%{REQUEST_URI}_%{QUERY_STRING}\.html\.gz -s
RewriteRule .* cache/%{ENV:boostpath}/LOAD_BALANCER_IP%{REQUEST_URI}_%{QUERY_STRING}\.html\.gz [L,T=text/html,E=no-gzip:1]
# NORMAL
RewriteCond %{DOCUMENT_ROOT}/vc/vacanze-in-montagna/cache/%{ENV:boostpath}/LOAD_BALANCER_IP%{REQUEST_URI}_%{QUERY_STRING}\.html -s
RewriteRule .* cache/%{ENV:boostpath}/LOAD_BALANCER_IP%{REQUEST_URI}_%{QUERY_STRING}\.html [L,T=text/html]
### BOOST END ###
1 ответ
Вот несколько предположений, так как вы не оставили много информации:
- Ваш пользователь веб-сервера не называется "Apache" или группа не так?
- Вы забыли включить mod_rewrite? Или забыли разрешить AllowOverride для вашего.htaccess?
- Вы испортили файл.htaccess и вставили настройки буста не в то место? (случилось со мной однажды...)
- Вы каким-то образом установили drupal в подпуть, например /var/www/mysite/SUBPATH/, но указали URL-адрес на путь "mysite"? (Я думаю, что это может испортить правила переписывания)
- Вы пытались добавить этот каталог как "apache"-пользователь? Например: runuser -l apache -c 'mkdir /your/ drupal/dir/newdir'? -> если это не сработает, вы знаете, что это проблема с разрешением.
- У меня заканчиваются идеи....