【问题标题】:redirect with route on codeigniter在 codeigniter 上使用路由重定向
【发布时间】:2015-10-27 22:47:53
【问题描述】:

我正在尝试将 url 路由到与 url 显示不同的文件夹中的一些控制器......我认为这是一个更好的例子,我有这样的东西:

$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';

他们都在工作,但最后。我想要做的是有人键入 www.mydomain.com 系统使用控制器管理员(放置在文件夹管理员),但我总是得到一个 404。

我正在考虑的一个快速但不优雅的解决方案(但我不想这样做)是修改 404 文件并测试是否没有段,然后重定向。

还有什么想法吗??谢谢。

【问题讨论】:

  • $route['default_controller'] = 'admin/admin' ?
  • 正如@Schultzie 所写,就在自定义路线之前。检查文档以了解它的外观。
  • 当您需要使用 codeigniter 3 默认控制器时,控制器文件必须在控制器中 > Admin.php 不能使用默认控制器的子目录。就像这里 codeigniter.com/user_guide/general/routing.html#reserved-routes $route['default_controller'] = 'admin' 任何其他路线,你应该能够使用子目录

标签: php codeigniter routing


【解决方案1】:

当用户点击你的页面时,你必须为默认页面设置默认控制器

$route['default_controller'] = "admin";

它设置了主页的默认视图

【讨论】:

  • 谢谢@yudijohn。最后我使用了 Imran 解决方案。 $route['default_controller'] = 'admin/admin';我试过你的,但它不起作用,我认为(阅读所有 cmets)它可以在 codeigniter 3 上工作,但我正在使用 codeigniter 2 ......对不起,我之前没有提供此信息。
【解决方案2】:

第1步:删除$route[''] = 'admin/admin';

第 2 步: 为了在用户键入 URL www.mydomain.com 时重定向到 admin/admin,那么您应该这样做:

$route['default_controller'] = 'admin/admin';

如果www.mydomain.com之后没有控制器,它将重定向到admin controlleradmin method

路由不错!

【讨论】:

  • 谢谢@Imran,只是一件小事......它将我重定向到放置在管理文件夹中的管理控制器......它使用索引功能。谢谢。
【解决方案3】:

config/routes.php

$route['default_controller'] = 'admin';
$route['404_override'] = 'admin';

当 404 发生时,它将加载您在 $route['404_override'] 中提供的方法。

【讨论】:

  • 在 codeigniter 3 上,默认控制器不能与 'admin/admin' 一起使用,必须是 $route['default_controller'] = 'admin'; 如果你使用 HMVC 就可以工作
  • @EloyFernándezFranco 你检查了吗?
  • 谢谢@abdulla,我尝试了你的解决方案,但它并不完整......我正在使用 CI2(对不起,我之前没有提供此信息),也许这是原因,我需要使 $route['default_controller'] = 'admin/admin';以及关于 404_override ......究竟要做什么?我写 www.domain.com/jdjdjdfjs 它总是向我显示 404 错误页面。谢谢。
  • 当 404 发生时它会加载你在$route['404_override']中提供的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-08
  • 1970-01-01
相关资源
最近更新 更多