Пассажир: RailsBaseURI чувствителен к регистру? - PullRequest
0 голосов
/ 30 апреля 2010

Я использовал Пассажир , чтобы развернуть приложение RoR для подчиненного URI в моем домене. Проблема, с которой я сталкиваюсь, заключается в том, что дополнительный URI чувствителен к регистру. Переход к http://mydomain.com/RailsApp разрешается нормально. Однако, если я перейду к http://mydomain.com/railsapp, http://mydomain.com/railsApp, или любому другому варианту, я получу ошибку 404. Как правильно обрабатывать эти запросы с использованием разных оболочек?

Вот мой конфигурационный файл Apache:

<VirtualHost *:80>
  ServerName mydomain.com
  ServerAlias www.mydomain.com
  DocumentRoot /www/mydomain/public

  <Directory "/www/mydomain/public">
      RailsEnv "production"
      Order allow,deny
      Allow from all
  </Directory>

  RailsBaseURI /RailsApp
  <Directory "/www/RailsApp/public">
      RailsEnv "development"
      Options -MultiViews
  </Directory>
</VirtualHost>

Любая помощь очень ценится. Спасибо!

Ответы [ 2 ]

1 голос
/ 30 апреля 2010

Вы можете использовать mod_rewrite и сопоставлять его без учета регистра.

Некоторые ссылки для начала работы:)
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
http://httpd.apache.org/docs/2.2/misc/rewriteguide.html

0 голосов
/ 30 апреля 2010

Спасибо ба за указание в правильном направлении.

Я провел небольшое исследование и обнаружил модуль mod_speling . Это не только делает URL-адрес нечувствительным к регистру, но и проверяет орфографические ошибки.

Чтобы включить mod_speling:

sudo /usr/sbin/a2enmod speling

sudo /etc/init.d/apache2 force-reload
sudo /etc/init.d/apache2 restart

Чтобы использовать mod_speling, включите директиву CheckSpelling on в раздел вашего виртуального хоста:

<VirtualHost *:80>
    CheckSpelling on

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