Redmine не работает должным образом в Apache - PullRequest
3 голосов
/ 15 июня 2009

Я пытаюсь заставить работать Redmine (приложение Ruby on Rails). Он работает нормально при запуске с ruby script/server webrick -e production, однако у меня возникают проблемы с его работой в Apache с Passenger.

Доступ к http://example.com/redmine возвращает домашнюю страницу Redmine, но щелчок любой ссылки (или даже добавление / к URL-адресу) приводит к 404. Согласно журналу Rails, происходит RoutingError. Например, при открытии страницы проектов: ActionController::RoutingError (No route matches "/projects.html" with {:method=>:get})

Каталог Redmine - /var/www/localhost/htapps/redmine. Я следовал за документацией на http://www.modrails.org/documentation/Users%20guide.html#_deploying_a_ruby_on_rails_application (раздел 3.2), поэтому есть символическая ссылка на /var/www/localhost/htdocs/redmine, указывающая на ../htapps/redmine/public, а конфигурация Apache содержит DocumentRoot /var/www/localhost/htdocs и RailsBaseURI /redmine.

Что заставляет его вызывать эти RoutingErrors?

Ответы [ 4 ]

2 голосов
/ 22 июня 2009

Похоже, что эта проблема на самом деле была вызвана .htaccess по умолчанию, включенным в Redmine.

Redmine .htaccess переписывает каждый запрос, заканчивая .html. Маршруты Redmine ожидают .html-меньше запросов.

Установка RewriteEngine на Off решила проблему для меня.

0 голосов
/ 17 августа 2013

Даже если вам удастся запустить Redmine в suburi, у redmine все равно будут проблемы. Некоторые страницы не будут анализироваться и отображаться правильно, если отображаются вообще.

Этой проблеме почти год, и она указана для следующего второстепенного выпуска. Кстати, вышло дюжина минорных релизов, но это еще не исправлено. Режим FCGI не поддерживает подчиненный URI .

0 голосов
/ 22 июня 2012

Если вы не внедрили в Sub-URI и , используя пассажир , добавив правило RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] в public/.htaccess также решает проблему. Поскольку это правило IfModule отключено по умолчанию .htaccess.

Другой вариант - удалить .htaccess, если вы его не используете (Например, вы можете использовать его для аутентификации дополнительного уровня с помощью AuthType Digest и т. Д.). не требуется при развертывании с пассажиром.

0 голосов
/ 15 июня 2009

http://ptspts.blogspot.com/2009/05/how-to-fix-railsbaseuri-sub-uri-with.html

Обходной путь вручную (в соответствии с тем, что предложено на страницах выше) добавляет строку ниже в config / environment / production.rb:

config.action_controller.relative_url_root = '/ redmine'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...