Apache:编辑 .conf 文件会产生“无效命令 'Header'”
Posted
技术标签:
【中文标题】Apache:编辑 .conf 文件会产生“无效命令 \'Header\'”【英文标题】:Apache: edit to .conf file produces "Invalid command 'Header'"Apache:编辑 .conf 文件会产生“无效命令 'Header'” 【发布时间】:2016-04-05 21:17:12 【问题描述】:在 Magento CE 中,我想为 Extendware Page Cache 安装一个名为 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:无效命令“标题”, 可能拼写错误或由未包含在服务器中的模块定义 配置操作“优雅”失败。 Apache 错误日志可能有 更多信息。
网站正在运行 Apache 2.4
我做错了吗?
【问题讨论】:
【参考方案1】:为了在 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
【讨论】:
很好的答案!我必须在 /etc/apache2/mods-enabled/ 目录中创建一个符号链接来加载 headers_module。cd /etc/apache2/mods-enabled/; ln -s ../mods-available/headers.load headers.load
然后重启apache2。
+1 - 并且,对于那些(喜欢我的)正在 WAMP / WAMPSERVER 中寻找 mod_headers 模块的人:可用的 Apache 模块列表没有“mod_”前缀。如果你不能在那里编辑,编辑 wamp\bin\apache\apache以上是关于Apache:编辑 .conf 文件会产生“无效命令 'Header'”的主要内容,如果未能解决你的问题,请参考以下文章
如何获得编辑文件 apache2.conf 的权限? [Ubuntu]
终端.app打开Apache的命令™s码httpd.conf文件文本编辑中的文件
apache_conf 最终的.htaccess文件。请随意分叉,编辑它,让我知道你怎么看待它。
apache_conf 最终的.htaccess文件。请随意分叉,编辑它,让我知道你怎么看待它。