чувствительность к регистру с контроллером пользователей на определенном хостинге - PullRequest
0 голосов
/ 27 мая 2010

Обычно мы используем два разных хостинга. С одной стороны, все работает ticketyboo, как и на моих локальных серверах разработки. Однако на другом сервере у меня возникла эта проблема:

Я не могу получить доступ к контроллеру пользователей следующим образом: http://www.example.com/users/login

Но мне может понравиться это: http://www.example.com/Users/login

** обратите внимание на заглавные буквы «Пользователи» **

Если я перемещаю приложение в подпапку, все работает нормально (как в верхнем, так и в нижнем регистре).

Хостинговая компания смотрела на это и не видит проблемы с их стороны, и они уверяют меня, что пользователи не являются зарезервированным словом.

Вы можете сказать, что это не проблема, просто используйте версию, которая работает. К сожалению, это приводит к проблемам в нисходящем направлении, когда ядро ​​Cake начинает генерировать URL-адреса самостоятельно.

Кто-нибудь еще видел эту проблему или знает решение?

[Это происходит только на пользовательском контроллере - все остальные работают как положено]

Ответы [ 2 ]

0 голосов
/ 28 мая 2010

Хотя поддержка хостинга отрицает, что слово «пользователь» или «пользователи» или «пользователи» каким-либо образом зарезервировано, похоже, что оно было:

«Мы удалили пользователей / редирект»

Проблема решена.

0 голосов
/ 27 мая 2010

Не видя весь ваш код / ​​погружение слишком глубоко, я не уверен, в чем причина этой проблемы. У вас есть что-то особенное, что происходит в файле rout.php? Если у вас есть определенный маршрут, определенный для пользователей, это может быть он.

Однако вы можете быстро это исправить - в UsersController (или AppController, если вы хотите, чтобы это поведение не появлялось в других местах) просто добавьте строку в метод beforeFilter (), чтобы использовать заглавные буквы / декапитализировать (в зависимости от того, что больше соответствующий) параметр контроллера.

[править] - извините, не закончил первый абзац. Это все еще может быть файл маршрутов, даже если он работает на одном сервере, а не на другом, поскольку вполне возможно, что на рабочем сервере используется нечувствительный к регистру модуль apache, который нормализует все URL-адреса. Вот почему так приятно, что ваши постановки и настройки для разработчиков ТОЧНО совпадают с производством.

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