#php #codeigniter #routing
#php #codeigniter #маршрутизация
Вопрос:
Маршрутизация 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';
Комментарии:
1. Вы пытались удалить третью маршрутизацию и проверить?
2. показывает страницу, которая не найдена, когда я использую нумерацию страниц
3. на самом деле я хочу использовать оба URL-адреса (упомянутые выше) по одному и тому же маршруту…
4. вы имеете в виду, что хотите, чтобы оба URL-адреса были перенаправлены на одну и ту же функцию? Другими словами, функция просмотра в контроллере snippets?
5. $route[‘snippets /(:num)’] = ‘snippets’; это загрузит функцию индекса и $route[‘snippets / (:any)’] = ‘snippets / view / $ 1’; это загрузит функцию просмотра класса snippets
Ответ №1:
Вам нужен номер страницы в вашей функции для третьей маршрутизации?
да, это то, что я хочу на этом маршруте
Итак, попробуйте изменить свое третье правило маршрутизации на,
$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
before num
, который any
будет принимать любой символ, кроме /
и не попадет в num
маршрутизацию. Итак, изменение порядка маршрутизации будет работать.
Комментарии:
1. Теперь $route[‘snippets/(:any)’] = ‘snippets / view/ $ 1’; перестает работать
2. Попробуйте изменить порядок маршрутов или использовать регулярное выражение вместо
any
3. Я снова застрял!! что мне теперь делать?
4. этот 127.0.0.1/Mytredin_codesup/snippets/auto-loader-63152391 сейчас не работает
5. Будет ли этот URL-адрес всегда содержать символы и цифры, соединенные дефисами?