Я пытаюсь развернуть Rails 2.1.2 с Apache 2.2.10 и FastCGI (да, плохой, древний, уродливый, я знаю).
К моему приложению можно получить доступ через example.com/app/public/
, но я хочу получить к нему доступ через example.com/app/
.
В моем .htaccess-файле (в app / -directory!) У меня есть:
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}
Помогите?
Что ж, ваш файл vhosts, похоже, указывает на общую папку, поскольку вы получаете ошибку маршрутизации, поэтому загружается среда rails.
Сначала попробуйте переместить ваш .htaccess в общую папку. Общая папка должна быть корнем вашего веб-сайта, например, мое приложение rails работает на www.mydomain.com/, и если я помещу файл file.html в общую папку, я могу получить доступ к www.mydomain.com/file. html.
Но если у вас есть маршрут в файле routes.rb, вы можете получить доступ по адресу www.mydomain.com/myroute.
Извините за быстрый ответ.