2016-09-09 4 views
2

Я делаю свой проект CI на локальном хосте, и я никогда не пытался его загрузить. Теперь, это первый раз, когда я загрузил свой проект CI в веб-хостинг, и URL-адреса чувствительны к регистру.CodeIgniter Controller Case-Sensitive

www.mywebsite.com/content 

Приведенный выше код работает на локальном хосте, но он не работает на реальном сервере. Это работает:

www.mywebsite.com/Content 

Как вы заметили, в нем есть капитал C.

Должен ли я изменить все якоря, которые ведут к контроллеру содержимого, или есть способ, который при вводе www.mywebsite.com/content будет преобразован в www.mywebsite.com/Content?

+0

Какая версия Codeigniter? – DFriend

+0

@DFriend 3.0.4 - это версия моего CI – aronccs

+0

Просмотрите здесь http://www.codeigniter.com/user_guide/general/styleguide.html – user4419336

ответ

1

Как вы сказали, что вы используете CI 3.

журнал изменений CodeIgniter говорит

Измененное соглашение об именах (имена файлов класса должны теперь быть Ucfirst и все остальное в нижнем регистре). Таким образом, вы контроллеры и файлы имя должны быть

  • My_controller (только M в верхнем регистре покоя нижний регистр)

  • Public_controller

  • application_controller

  • Foo_controller

В этом случае CI-2 был лучше.

Codeigniter Class and filename case sensitive on Linux (centos)

Примечание 1:.

хостинг Windows и Linux хостинг имеет разницу в именах файлов (также Большинство живых хостинг-провайдеров (в сервере) не дают полную свободу, как работать в качестве локального хоста. Там будут какие-то жесткие режимы и политики, реализованные в сервере по соображениям безопасности)

Примечание 2:.

проблема существует сог имя файла отличается от Linux в d Окна MyFile & MyFile не могут существовать в одном и том же пути в Windows, но может на Linux codeigniter url case sensitive issue

+0

Это было именно мое соглашение об именах. Он работает на локальном хосте, но не на реальном сервере – aronccs

+0

могут быть некоторые причины, когда у CI 3 силы следовать правилам ... –

+1

Не разрешен ли ParentPortal? Должно ли это быть «Parentportal»? – aronccs

1

Первый алфавит в имя контроллера и название модели должно быть в верхнем регистре. Моя версия CI - 3.1.0

+0

Не разрешен ли ParentPortal? Должно ли это быть «Parentportal»? – aronccs

+0

оба действительны, если первый алфавит имеет верхний регистр. –

+0

Я думаю, я знаю проблему сейчас. Я попробовал «Parentportal», он работает, даже если я набираю его в URL как «parentportal», но если я попробую «ParentPortal», это не сработает. Итак, в заключение, решение таково: только первая буква контроллера должна быть капитализирована – aronccs

Смежные вопросы