Apache / Rails / Passenger URL-адреса каталогов, которые не заканчиваются на '/', завершаются с ошибкой 404 - PullRequest
1 голос
/ 12 апреля 2009

Я использую Apache для пассажиров, чтобы запустить приложение rails. В моем приложении rails у меня есть некоторый статический контент в подкаталогах публичного каталога. В каждом подкаталоге есть index.html.

Итак, внутри публичного каталога у меня есть подкаталог с именем 'b', а внутри него - index.html. Вот так:

/ общественного / б / index.html

У меня есть ссылки на эти страницы, вида:

http://a.com/b

Если я делаю это в своем обычном веб-каталоге, не относящемся к rails, Apache правильно переписывает этот URL-адрес на http://a.com/b/, который затем отображает index.html. Только при доступе к моему приложению rails это не работает. На самом деле, если я отключаю пассажирский мод ... так что он просто обращается к моему приложению rails, как обычный корень документа, он также работает правильно.

Какого черта мне нужно сделать, чтобы это правильно работало с пассажиром? Опять же, он работает нормально в самом apache, когда пассажир не задействован.

Я работаю пассажиром 2.1.3. У меня есть другой сервер, на котором запущен пассажир 2.0, который, похоже, не имеет этой проблемы, но я не вижу ничего другого в конфигурации, кроме разных версий самого пассажира.

HELP! Два дня работали над этим без каких-либо улучшений!

Ответы [ 2 ]

0 голосов
/ 13 мая 2009

Добавьте следующее правило перезаписи в вашу конфигурацию apache:

# Turn on URL rewriting
RewriteEngine On
# For a given url foo, check if foo/index.html exists as a static file
RewriteRule ^([^.]+)$ $1/index.html [QSA]
0 голосов
/ 12 апреля 2009

Есть ли у вас PassengerHighPerformance? Это может помешать индексным страницам.

...