当我joinRails指南中的Far-Future Expires子句时,Apache崩溃了

在尝试使用Apache为我的预编译资源提供服务时,按照本 Rails指南,我尝试更改:

<VirtualHost *:82> ServerName localhost DocumentRoot "C:/RubyStack-3.2.5-0/projects/release_checklist/public" <Directory "C:/RubyStack-3.2.5-0/projects/release_checklist/public"> Allow from all Options -MultiViews </Directory> ProxyPass / http://localhost:3001/ ProxyPassReverse / http://localhost:3001/ ProxyPreserveHost On </VirtualHost> 

对此:

 <VirtualHost *:82> ServerName localhost DocumentRoot "C:/RubyStack-3.2.5-0/projects/release_checklist/public" <Directory "C:/RubyStack-3.2.5-0/projects/release_checklist/public"> Allow from all Options -MultiViews </Directory> ProxyPass / http://localhost:3001/ ProxyPassReverse / http://localhost:3001/ ProxyPreserveHost On <LocationMatch "^/assets/.*$"> Header unset ETag FileETag None # RFC says only cache for 1 year ExpiresActive On ExpiresDefault "access plus 1 year" </LocationMatch> </VirtualHost> 

在我的httpd.conf文件中。 但是,当添加第二个选项时,Apache服务器将不会启动。 我究竟做错了什么?

它给你什么错误? 你确定你有mod_expires编译成Apache和模块加载?

无效的命令“ExpiresActive”,可能是拼错的或由未包含在服务器配置中的模块定义的

是的,如果使用映射到未加载的模块的指令(或者只是拼写错误的指令,这与apache相同),那通常就是错误。 您需要检查httpd.conf,并确保Loadmodulee expires_module modules/mod_expires.so行没有被注释掉,如果缺少,则添加它。 根据你的apache的版本,这条线可能会稍有不同。