Пользовательские маршруты в Codeigniter

0

Я хочу создать настраиваемую опцию маршрутизации в codeigniter:

Запрос на:

http://www.example.com/api/xxx

перенаправляет контроллеры в папку api

controllers/api/yyy

И значение xxx должно быть 1.0 или 2.0 или 3.0... и значение yyy должно быть - api_1_0.php или api_1_0.php или api_3_0...

Например: api/1.0 перенаправляет controllers/api/api_1_0.php

Я пытался:

$route['api/(:any)'] = "api/api_$1";

Но это не работает.

  • 1
    Непонятно, чего вы хотите. Запишите полный путь вашего URL перенаправления.
  • 0
    при запросе example.com/api/2.0 мне нужно перенаправить на контроллер - api_2_0.php (который находится внутри папки api в контроллерах)
Теги:
codeigniter
routes

2 ответа

1
Лучший ответ
$route['api/(\d+)\.(\d+)'] = "api_$1_$2";//if your controller inside controller folder

или

$route['api/(\d+)\.(\d+)'] = "api/api_$1_$2";//if your controller inside controller/api folder
  • 0
    Спасибо, это работает ....
2

Маршрутизация с (:any) не будет служить вашей цели.

Вместо этого вы можете использовать регулярное выражение.

Если вам нужно маршрутизировать

http://www.example.com/api/1.0

в

/api/api_1_0

Вы можете использовать маршрутизацию

$route["api/(\d+)\.(\d+)"] = "api/api_$1_$2";

Надеюсь, это поможет.

  • 0
    не работает ... Обратите внимание, что api - это папка, а api_1_0 - файл контроллера.
  • 0
    Просто немного изменил код маршрутизации. Протестировано и работает сейчас.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню