Passenger:Rails 应用程序的非默认页面缓存目录的 mod_rewrite 规则

Passenger:Rails 应用程序的非默认页面缓存目录的 mod_rewrite 规则

是否有人有一些有效的 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 的交互似乎被打破了。

相关内容