Apache:编辑到.conf文件会产生“无效命令'标题'”

时间:2016-01-01 07:02:14

标签: apache magento rewrite

在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”时,我收到错误:

  

AH00526:第53行的语法错误   /etc/apache2/sites-enabled/site.conf:无效的命令'Header',   可能拼写错误或由未包含在服务器中的模块定义   配置动作'优雅'失败。 Apache错误日志可能有   更多信息。

网站正在运行Apache 2.4

我做错了吗?

3 个答案:

答案 0 :(得分:29)

为了在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 conf文件中加载该模块。只需在下面添加: -

LoadModule headers_module modules/mod_headers.so

  
    

注意: - mod_header在apache中可用作基本模块。所以你不需要明确地安装它。

  

发出以下命令: -

a2enmod headers

重新启动网络服务

apache2ctl restart

答案 1 :(得分:4)

它解决了我的问题。我只需要运行sudo a2enmod headers命令

答案 2 :(得分:2)

使用以下命令启用标头模块

sudo a2enmod headers

启用模块后,您必须重新启动Apache

sudo service apache2 restart