在Magento CE中,我想安装一个名为Lightening Cache的扩展件页面缓存插件。
它需要编辑站点的虚拟主机定义中的Apache配置,方法是添加:
RewriteEngine On
RewriteMap ewpchash prg:/home/.../shell/extendware/ewpagecache/apache/md5.php
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_URI} !\.(js|css|png|jpg|jpeg|ico|gif)$ [NC]
RewriteCond %{DOCUMENT_ROOT}%{SCRIPT_FILENAME} !-f
RewriteCond ${ewpchash:%{HTTPS};~;%{HTTP_HOST};~;%{REQUEST_URI};~;%{QUERY_STRING};~;%{HTTP:Cookie};~;%{SCRIPT_FILENAME};~;%{REMOTE_ADDR};~;%{HTTP_USER_AGENT}} -f
RewriteRule ^(.*)$ ${ewpchash:%{HTTPS};~;%{HTTP_HOST};~;%{REQUEST_URI};~;%{QUERY_STRING};~;%{HTTP:Cookie};~;%{SCRIPT_FILENAME};~;%{REMOTE_ADDR};~;%{HTTP_USER_AGENT}} [NC,L]
<FilesMatch "\.(html)$">
Header unset Cache-Control
Header unset Expires
Header append Expires "Thu, 19 Nov 1981 08:52:00 GMT"
Header append Cache-Control "must-revalidate"
</FilesMatch>
我已经把这个添加到/etc/apache2/sites-enabled/site.conf
的底部。
当我运行命令apachectl graceful
时,收到错误:
AH 00526:/etc/apache 2/sites-enabled/site.conf的第53行出现语法错误:命令'Header'无效,可能拼写错误或由未包含在服务器配置中的模块定义操作'graceful'失败。Apache错误日志可能有详细信息。
网站正在运行Apache 2.4
我做错什么了吗?
2条答案
按热度按时间zbq4xfa01#
为了在apache中使用Header指令,您必须加载mod_header模块。您可以通过以下方式测试模块是否已加载:-
apache2ctl -M | grep headers_module
find / -name mod_headers.so
个如果已加载,您将看到类似以下内容:-
headers_module (shared)
/usr/lib/apache2/modules/mod_headers.so
如果你没有看到find命令的输出,那么直接在你的apache配置文件中加载该模块。只需在下面追加一行:-
LoadModule headers_module modules/mod_headers.so
**注意:-**mod_header在apache中作为基础模块提供,所以你不需要显式安装它。
发出以下命令:-
a2enmod headers
重新启动Web服务
apache2ctl restart
omhiaaxx2#
如果有人在dockerized apache上尝试这个错误,解决方法就是将其添加到我的Dopckerfile中
RUN a2enmod headers
这是错误日志
和错误
还有.htaccess
溶液
这里是我的完整Dockerfile
修复后