Forum: Italian Ruby user group Cache - cambio della cartella di default

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Luigi M. (Guest)
on 2009-04-08 16:42
Salve a tutti,
mi sapreste aiutare su come modificare la cartella di default della
cache?

In particolare so come si cambia ma non so come dire all'applicazione di
controllare la presenza delle pagine cachizzate in quella cartella che è
ovviamente diversa dall'url effettivo.

Mi spiego meglio:
nel file environment.rb la cartella di default la si imposta così:

config.action_controller.page_cache_directory = RAILS_ROOT + "/public/"

se la si desidera modificare si scrive, molto semplicemente:

config.action_controller.page_cache_directory = RAILS_ROOT +
"/public/cache/"

questo vuol dire che un indirizzo del tipo:

www.sito.it/articolo/1.html

caricherà la copia cachizzata della pagina 1.html nella cartella
public/cache/articolo

quando però si richiamerà digitando l'indirizzo:

www.sito.it/articolo/1.html

la pagina verrà nuovamente generata dal codice dato che la cache sta
nella sotto cartella "cache".

A quanto ho capito dovrebbe essere sufficiente utilizzare il file
.htaccess per un redirect nascosto.

Che ne dite?

Grazie

Luigi
Andrea C. (Guest)
on 2009-04-08 16:47
(Received via mailing list)
Ciao,

questo articolo dovrebbe dirti tutto quello che ti serve, cambio della
cartella incluso
http://www.railsenvy.com/2007/2/28/rails-caching-tutorial

Q
Luigi M. (Guest)
on 2009-04-08 19:25
Ok tutto fatto e quasi tutto funzionante, in particolare non riesco o
meglio non so come modificare il file .htaccess per suggerire al server
di cercare prima i file nella cartella /public/cache/.

Ho fatto le modifiche suggerite nella pagina indicata nel post
precendente ma non funge?!?!

.htaccess

AddHandler fastcgi-script .fcgi
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI

RewriteEngine On

RewriteRule ^$ cache/index.html [QSA]
RewriteRule ^([^.]+)$ cache/$1.html [QSA]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
This topic is locked and can not be replied to.