Passenger mod_rails ne supporte pas la directive RailsBaseURI

Passenger, alias mod rails est probablement la meilleure chose qui soit arrivée au web depuis l’invention du navigateur graphique – rien que ça – en faisant du déploiement d’applications Ruby on Rails un véritable jeu d’enfant. Plus besoin de configuration en dehors d’un Vhost des plus standards, mod_rails reconnaît les application Rails et Merb et fait ce qu’il faut. Et pour ne pas faire de jaloux, il fait de même avec les applications Django, il est vrai avec des performances moindres.

Via Ashchan, je viens cependant de découvrir un bug dans la directive RailsBaseURI, qui permet de déployer des applications ailleurs qu’à la racine d’un site, par exemple, http://t37.net/blog au lieu de http://t37.net.

<VirtualHost 91.121.80.167:80>
    ServerName t37.net
    DocumentRoot /path/to/t37.net/public
    RailsBaseURI /blog
</VirtualHost>    

En théorie, Passenger devrait transmettre la directive RailsBaseURI à votre application Rails en initialisant sa variable relative_url_root. Comme il semble ne pas le faire, en tout cas dans la dernière version, il faut modifier le fichier config/envionment.rb de votre application Rails afin d’y ajouter

config.action_controller.relative_url_root = "/blog"

Et voilà, vous êtes. Quant à moi, je vous laisse, j’ai une version stable de Typo et un patch pour mod_rails à terminer.

<typo:flickr img=”3155932372” size=”medium” alt=”I believe I can fly” />

Publié le 25 janvier 2009 à 12h20 Publié sous

Mots clés web, mod_rails, passenger, ruby, rails, rubyonrails

Si cet article vous a plu, n'hésitez pas à me suivre sur Twitter.

Soyez le premier à réagit à Passenger mod_rails ne supporte pas la directive RailsBaseURI

Merci de vous exprimer dans un français correct. Les commentaires déplacés, injurieux et le spam seront supprimés.

Les trackbacks sont fermés pour cause de spam.


Abonnez-vous au flux RSS et suivez les nouveaux articles du site Suivez-moi sur Twitter