Codeigniter路由在分页和其他URL上存在冲突

时间:2019-04-10 10:24:27

标签: php codeigniter routing

CodeIgniter路由在分页和另一个URL上发生冲突。实际上,我正在尝试在分页中加载以下URL。

  

http://127.0.0.1/Mytredin_codesup/snippets

对于我的帖子,我想加载以下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 个答案:

答案 0 :(得分: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之前使用numany将接受除/以外的任何字符,并且将无法进行num路由。因此,更改路由顺序将起作用。