在尝试使用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的版本,这条线可能会稍有不同。