agu*_*les 2 apache ruby-on-rails ruby-on-rails-3
为了尝试使用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>
Run Code Online (Sandbox Code Playgroud)
对此:
<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>
Run Code Online (Sandbox Code Playgroud)
在我的httpd.conf档案中.但是,添加第二个选项后,Apache服务器将无法启动.我究竟做错了什么?
它给你带来了什么错误?您确定已将mod_expires编译为apache并且模块已加载吗?
无效的命令"ExpiresActive",可能由服务器配置中未包含的模块拼写错误或定义
是的,如果您使用映射到未加载的模块的指令(或者只是一个错误的指令,它看起来与apache相同),通常会出现错误.您需要检查httpd.conf并确保LoadModule expires_module modules/mod_expires.so没有注释掉该行,如果缺少,则添加它.根据您的apache版本,该行可能略有不同.