是否有人有一些有效的 Apache mod_rewrite 规则,可让 Phusion Passenger (mod_rails) 在 Rails 应用程序内使用非默认位置作为页面缓存?我希望缓存文件进入,/public/cache
而不是默认的/public
。
答案1
我找到了答案这篇博文:
RailsAllowModRewrite On
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{REQUEST_URI} ^/([^.]+)$
RewriteCond %{DOCUMENT_ROOT}/cache/%1.html -f
RewriteRule ^/[^.]+$ /cache/%1.html [QSA,L]
RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{DOCUMENT_ROOT}/cache/index.html -f
RewriteRule ^/$ /cache/index.html [QSA,L]
答案2
RailsAllowModRewrite 的答案不起作用,因为在新版本中 RailsAllowModRewrite 什么也不做,但是乘客与 mod_rewrite 的交互似乎被打破了。