Php 使用codeigniter上的路由重定向
我正在尝试将url路由到与url显示不同的文件夹中的某些控制器。。。我认为这是一个更好的例子,我有这样一个例子:Php 使用codeigniter上的路由重定向,php,codeigniter,routing,Php,Codeigniter,Routing,我正在尝试将url路由到与url显示不同的文件夹中的某些控制器。。。我认为这是一个更好的例子,我有这样一个例子: $route['admin'] = 'admin/admin'; $route['admin/register'] = 'admin/login/register'; $route['admin/newuser'] = 'admin/login/newuser'; $route['admin/logout'] = 'admin/logi
$route['admin'] = 'admin/admin';
$route['admin/register'] = 'admin/login/register';
$route['admin/newuser'] = 'admin/login/newuser';
$route['admin/logout'] = 'admin/login/logout';
$route['admin/login'] = 'admin/login';
$route[''] = 'admin/admin';
$route['default_controller'] = 'admin/admin';
他们都在工作,但最后一个。我想做的是,有人键入www.mydomain.com,系统使用controller admin(放在文件夹admin上),但我总是得到404
我正在考虑(但我不想这么做)一个快速但不优雅的解决方案,就是修改404文件并测试是否没有段,然后重定向
还有其他想法吗??谢谢。步骤1:删除
$route['']=“admin/admin”代码>
第二步:
为了在用户键入URLwww.mydomain.com
时重定向到admin/admin
,您应该执行以下操作:
$route['admin'] = 'admin/admin';
$route['admin/register'] = 'admin/login/register';
$route['admin/newuser'] = 'admin/login/newuser';
$route['admin/logout'] = 'admin/login/logout';
$route['admin/login'] = 'admin/login';
$route[''] = 'admin/admin';
$route['default_controller'] = 'admin/admin';
然后,如果www.mydomain.com
之后没有控制器,它将重定向到admin controller
和admin method
祝你旅途愉快 第1步:删除$route['']=“admin/admin”代码>
第二步:
为了在用户键入URLwww.mydomain.com
时重定向到admin/admin
,您应该执行以下操作:
$route['admin'] = 'admin/admin';
$route['admin/register'] = 'admin/login/register';
$route['admin/newuser'] = 'admin/login/newuser';
$route['admin/logout'] = 'admin/login/logout';
$route['admin/login'] = 'admin/login';
$route[''] = 'admin/admin';
$route['default_controller'] = 'admin/admin';
然后,如果www.mydomain.com
之后没有控制器,它将重定向到admin controller
和admin method
祝你旅途愉快 当用户单击页面时,必须为默认页面设置默认控制器
$route['default_controller'] = "admin";
设置主页的默认视图当用户单击页面时,必须为默认页面设置默认控制器
$route['default_controller'] = "admin";
在config/routes.php
$route['default_controller'] = 'admin';
$route['404_override'] = 'admin';
当404发生时,它将加载您在$route['404\u override']
中提供的方法 在config/routes.php
$route['default_controller'] = 'admin';
$route['404_override'] = 'admin';
当404发生时,它将加载您在$route['404\u override']
中提供的方法 $route['default\u controller']='admin/admin'
?正如@Schultzie所写,就在自定义路由之前。检查文档以查看其外观。当需要使用codeigniter 3默认控制器时,控制器文件必须位于controllers>Admin.php不能使用默认控制器的子目录中。正如@Schultzie在自定义路由之前写的那样,在这里$route['default\u controller']='admin'
任何其他路由,您应该能够使用子目录$route['default\u controller']='admin/admin'
。检查文档以查看其外观。当需要使用codeigniter 3默认控制器时,控制器文件必须位于controllers>Admin.php不能使用默认控制器的子目录中。正如这里所示,$route['default\u controller']='admin'
您应该能够使用子目录的任何其他路由。codeigniter 3默认控制器不能与'admin/admin'一起使用,必须是$route['default\u controller']='admin'如果您使用HMVC@EloyFernándezFranco你检查过这个吗?谢谢@abdulla,我尝试过你的解决方案,但它并不完整。。。我使用的是CI2(对不起,我以前没有放过这个信息),可能是因为这个原因,我需要将$route['default_controller']='admin/admin';关于404_覆盖。。。你到底要做什么??我写www.domain.com/jdfjs,它总是显示404错误页面。谢谢。当404发生时,它将加载您在codeigniter 3上的$route['404\u override']
中提供的方法。默认控制器不能与'admin/admin'一起工作,必须是$route['default\u controller']='admin'如果您使用HMVC@EloyFernándezFranco你检查过这个吗?谢谢@abdulla,我尝试过你的解决方案,但它并不完整。。。我使用的是CI2(对不起,我以前没有放过这个信息),可能是因为这个原因,我需要将$route['default_controller']='admin/admin';关于404_覆盖。。。你到底要做什么??我写www.domain.com/jdfjs,它总是显示404错误页面。谢谢。当404发生时,它将加载您在$route['404\u override']
Thank@Imran中提供的方法,只有一点。。。它将我重定向到管理员文件夹中的管理员控制器。。。它使用索引函数。谢谢。谢谢@Imran,只是一件小事。。。它将我重定向到管理员文件夹中的管理员控制器。。。它使用索引函数。谢谢,谢谢你。最后,我使用Imran解决方案$路由['default_controller']='admin/admin';我试过你的,但它不起作用,我认为(阅读所有评论)它可以在codeigniter 3上工作,但我正在使用codeigniter 2。。。抱歉,我以前没有提供此信息。谢谢@yudijohn。最后,我使用Imran解决方案$路由['default_controller']='admin/admin';我试过你的,但它不起作用,我认为(阅读所有评论)它可以在codeigniter 3上工作,但我正在使用codeigniter 2。。。对不起,我以前没有提供此信息。