Маршрутизация CodeIgniter конфликтует с нумерацией страниц и другим URL-адресом. На самом деле, я пытаюсь загрузить следующий URL-адрес при нумерации страниц.
И для своего поста я хочу загрузить следующий URL
http://127.0.0.1/Mytredin_codesup/snippets/auto-loader-63152391
Но одновременно работает только один URL.
Я использую следующую маршрутизацию
$route['snippets/(:any)'] = 'snippets/view/$1';
$route['allsnippets/(:num)'] = 'welcome';
$route['snippets/(:num)'] = 'snippets';
показывает, что страница не найдена, когда я использую разбиение на страницы
на самом деле я хочу использовать оба URL-адреса (вышеупомянутые) на одном и том же маршруте...
Вы имеете в виду, что хотите, чтобы оба URL-адреса были направлены на одну и ту же функцию? Другими словами, функция просмотра в контроллере фрагментов?
$route['snippets/(:num)'] = 'snippets'; это загрузит индексную функцию и $route['snippets/(:any)'] = 'snippets/view/$1'; это загрузит функцию просмотра класса фрагментов
Вам нужен номер страницы в вашей функции для третьей маршрутизации?
да, это то, что я хочу на этом маршруте $route['snippets/(:num)'] = 'snippets'; с пагинацией для работы
Do you want the page number in your function for third routing?
yes that is what i want on this route
Итак, попробуйте изменить третье правило маршрутизации на
$route['snippets/(:num)'] = 'snippets/index/$1';
и ваша функция в контроллере snippets
function index(page_no){
//your code here
}
Редактировать:
Сохраняйте правила маршрутизации в этом порядке.
$route['snippets/(:num)'] = 'snippets/index/$1';
$route['snippets/(:any)'] = 'snippets/view/$1';
$route['allsnippets/(:num)'] = 'welcome';
Проблема заключается в использовании any
перед num
, что any
примет любой символ, кроме /
, и не попадет в num
маршрутизацию. Таким образом, изменение порядка маршрутизации будет работать.
Теперь $route['snippets/(:any)'] = 'snippets/view/$1'; прекратить работу
Попробуйте изменить порядок маршрутов или используйте регулярное выражение вместо any
Я снова застрял!! Что мне теперь делать?
этот 127.0.0.1/Mytredin_codesup/фрагменты/автозагрузчик-63152391 сейчас не работает
Будет ли этот URL всегда содержать символы и цифры, соединенные дефисом?
классно!! Спасибо !! последний вопрос, могу ли я получить такой URL-адрес для разбивки на страницы - 127.0.0.1/Mytredin_codesup/snippets&page=1
Да, но он будет перенаправлен на вашу индексную функцию в контроллере snippets
, и вам нужно будет получить page
с помощью $this->input->get('page');
Вы пробовали удалить третью маршрутизацию и проверить?