Как преобразовать URL-адреса _ to — in для codeigniter?

#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.