#codeigniter #codeigniter-url
#codeigniter #codeigniter-url
Вопрос:
Пытался изучить codeigniter, однако 1 проблема, с которой я столкнулся, заключается в том, что если бы у меня была функция, скажем
top_10()
Это означало бы, что мои URL-адреса будут примерно такими
…./топ_10/
Это нормально, но я предпочитаю — больше, чем _ для URL-адресов. Я попытался изменить имена своих функций на top-10 (), но, похоже, это приводит к синтаксической ошибке (даже если это не так, это приводит к уродливому имени функции), есть ли способ позволить codeigniter автоматически преобразовывать все _ в моих функциях контроллера в -, когда дело доходит до URL-адресов?
…/top_10/ -> …/top-10 / для всех других подобных функций контроллера.
Ответ №1:
Вы можете использовать правило маршрутизации URI
что-то вроде :
$route['controller/top-10'] = "controller/top_10";
Добавьте эту строку в routes.php файл внутри application/config/routes.php
Здесь controller/top-10
будет часть вашего URL-адреса, которая будет перенаправлена к желаемой функции, предоставляемой с правой стороны. кроме того, если вы не используете mod_rewrite для перезаписи своего URL, то ваш URL будет выглядеть примерно такhttp://localhost/index.php/controller/top-10
Ответ №2:
Внутри вашей application/config/routes.php
папки, если нет строки для перевода тире uri, добавьте эту строку: $route['translate_uri_dashes'] = TRUE;
Если $route['translate_uri_dashes']
они уже существуют, просто установите для них значение true.