Как использовать символы подчеркивания и строчные буквы в URL в Codeigniter 3? - PullRequest
0 голосов
/ 10 июня 2019

Меня раздражает таинственная проблема. Моя среда разработки была создана со следующей структурой каталогов.

document_root
 └ project
  ├ application
  │├ controllers
  ││└ admin
  ││ ├ Users.php
  ││ ├ Facility_Categories.php
  ││ └ Facilities.php
  │└ views
  │ └ admin
  │  ├ users
  │  │└ index.twig
  │  ├ facility_categories
  │  │└ index.twig
  │  └ facilities
  │   └ index.twig
  └ public
   └ index.php

В среде разработки эти URL-адреса выглядели, как и ожидалось.

https://www.example.com/project/admin/users/
 -> load admin/Users.php index function
https://www.example.com/project/admin/facilities/
 -> load admin/Facilities.php index function
https://www.example.com/project/admin/facility_categories/
 -> load admin/Facility_Categories.php index function

Недавно, когда я загружаю эти файлы в тестовую среду. URL-адрес отображался неправильно, в нем было "подчеркивание". Похоже, контроллер не загружен.

https://www.example.com/project/admin/users/
 -> load admin/Users.php index function
https://www.example.com/project/admin/facilities/
 -> load admin/Facilities.php index function
https://www.example.com/project/admin/facility_categories/
 -> 404 Page Not Found (display codeigniter show_404 function)

Кстати, если URL набран с большой буквы, контроллер загрузится, а View - нет. (представление также отображается, если имя направления представления является заглавным.)

https://www.example.com/project/admin/Facility_Categories/
 -> 500 Internal Server Error
      (Twig\Error\LoaderError : Unable to find template "admin/Facility_Categories/index.twig")

Я хочу получить доступ к URL-адресу в нижнем регистре. Как я могу решить проблему?

1 Ответ

0 голосов
/ 10 июня 2019

Я решил эту проблему самостоятельно, чтобы прочитать следующий URL

Чувствительный к регистру контроллер CodeIgniter

CodeIgniter3, казалось, должен был использовать только первую букву имени контроллера и все строчные буквы после него. (ОК: Facility_categories.php НГ: Facility_Categories.php)

Я только что изменил 2 балла.

  1. Изменить имя файла контроллера с Facility_Categories.php На Facility_categories.php
  2. Изменить имя класса контроллера с class Facility_Categories На class Facility_categories

Теперь я могу получить доступ к URL-адресу, содержащему строчные и подчеркивания

https://www.example.com/project/admin/facility_categories/
...