我试图用Apache 2.2.10和FastCGI来部署Rails 2.1.2(我知道是的,坏的,古老的,丑陋的)。
我的应用程序可以通过example.com/app/public/访问,但是我想通过example.com/app/访问它。
在我的.htaccess文件(在应用程序/目录!)我有:
RewriteEngine On RewriteBase /app/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ public/dispatch.fcgi [QSA,L]
我怎样才能转发每个请求去app/到app/public/ ? 每次我尝试这个(例如,用RewriteRule ^.*$ public/$1 [QSA] ),我得到一个路由错误:
No route matches "/app/" with {:method=>:get}
帮帮我?
那么,你的虚拟主机文件似乎是指向公共文件夹,因为你得到路由错误,所以轨道环境加载。
首先尝试在公用文件夹内移动.htaccess。 公共文件夹应该是你的网站的根,例如,我的rails应用程序在www.mydomain.com/上运行,如果我把公用文件夹上的file.html,我可以访问www.mydomain.com/file。 HTML。
但是,如果route.rb文件中有路由,则可以访问www.mydomain.com/myroute。
对不起,快速的回应。