Apache:edit to.conf文件生成;无效命令';标题'&引用;

Apache:edit to.conf文件生成;无效命令';标题'&引用;,apache,magento,url-rewriting,Apache,Magento,Url Rewriting,在MagentoCE中,我想为Extendware页面缓存安装一个名为Lightning Cache的插件 它需要在站点的虚拟主机定义中编辑Apache配置,方法是添加: RewriteEngine On RewriteMap ewpchash prg:/home/.../shell/extendware/ewpagecache/apache/md5.php RewriteCond %{REQUEST_METHOD} !POST RewriteCond %{REQUEST_URI} !\.(j

在MagentoCE中,我想为Extendware页面缓存安装一个名为Lightning 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>
重新编写引擎打开
重写映射ewpchash prg:/home/../shell/extenddware/ewpagecache/apache/md5.php
重写cond%{REQUEST_METHOD}!邮递
重写条件%{REQUEST\u URI}!\。(js | css | png | jpg | jpeg | ico | gif)$[NC]
重写cond%{DOCUMENT\u ROOT}%{SCRIPT\u FILENAME}-F
重写条件${ewpchash:%%{HTTPS};~{HTTP_主机};~{REQUEST_URI};~{QUERY_字符串};~{HTTP:Cookie};~{SCRIPT_文件名};~{REMOTE_ADDR};~{HTTP_USER_AGENT}-f
重写规则^(.*)${ewpchash:%%{HTTPS};~{HTTP_主机};~{REQUEST_URI};~{QUERY_STRING};~{HTTP:Cookie};~{SCRIPT_FILENAME};~{REMOTE_ADDR};~{HTTP_用户_代理}[NC,L]
头取消缓存控制
标题未设置过期
标题附加过期“1981年11月19日星期四08:52:00 GMT”
标头附加缓存控制“必须重新验证”
我已将其添加到
/etc/apache2/sites enabled/site.conf
的底部

运行命令
apachectl
时,收到错误:

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

该站点正在运行Apache2.4


我做错什么了吗?

为了在apache中使用Header指令,您必须加载mod_Header模块。 您可以通过以下方式测试模块是否已加载:-

apache2ctl-M|grep headers_模块

find/-name mod_headers.so

如果已加载,您将看到如下内容:-

headers\u模块(共享)

/usr/lib/apache2/modules/mod_headers.so

如果没有看到find命令的输出,则直接将该模块加载到apacheconf文件中。仅在下面一行添加:-

loadmoduleheaders\u模块/mod\u头。因此

注意:-mod_头在apache中作为基本模块提供。因此,您不需要显式安装它

发出以下命令:-

a2enmod标题

重新启动web服务


apache2ctl重启

回答得好!我必须在/etc/apache2/mods enabled/目录中创建一个符号链接来加载模块的标题<代码>cd/etc/apache2/mods启用/;ln-s../mods available/headers.load headers.load然后重新启动apache2.+1-对于那些(像我一样)正在WAMP/WAMPSERVER中查找mod_headers模块的人:可用Apache模块列表没有“mod_”前缀。如果无法在那里编辑,请编辑wamp\bin\apache\apacheI必须在debian:a2enmod头文件(即模块名称)上运行