1

现在,当 CodeIgniter 没有找到路由的控制器或 uri 的路由时,它会显示一个通用的 404 页面。如何显示访问的路由或控制器或一些有用的东西,可以让我调试为什么它显示 404?

代码:

switch ($_SERVER['HTTP_HOST']) {
    case 'multiplelines.domain.ro': 
             $route['default_controller'] = "subdomain"; break;
    default: $route['default_controller'] = "welcome"; break;
}


$route['scaffolding_trigger'] = "";
$route['404_override'] = '';
if($_SERVER['HTTP_HOST'] == "www.domain.ro" 
   || $_SERVER['HTTP_HOST'] == "domain.ro")
{
  // URI like '/en/about' -> use controller 'about'
  $route['^(romana|english|magyar)/(.+)$'] = "$2";

  // '/en', '/de', '/fr' and '/nl' URIs -> use default controller
  $route['^(romana|english|magyar)$'] = $route['default_controller'];
}
else
{

}

期望的效果:当在 www 或空子域路由会像这样发生:/language/test 将转到测试控制器

当在另一个子域(我只列出一个案例)上时,将路由到子域控制器,因为我只想为这些子域使用一个控制器。

注意:现在,当在 www 或空子域上时,有代码可以自动为测试控制器的 /test 路由选择语言(uri 中没有语言目录)。

4

4 回答 4

1

当 CI 找不到页面的正确路由时,它知道没有这样的页面,所以它给出 404 NOT EXISTING..

如果用户尝试在您的站点上打开 /sgasgasggsasga 页面,它会出于同样的原因得到 404..

你必须自己找出为什么它显示404......

查看http://codeigniter.com/user_guide/general/routing.html寻求帮助:)

于 2012-10-25T13:33:02.197 回答
0

在您的应用程序上启用错误日志记录

然后,一旦您查找错误,您将看到生成 404 错误的请求的 URI。

于 2012-10-25T15:00:52.203 回答
0

在计算机上会正确填写答案,但请查看Debugging routes in codeigniter?它有路由记录

于 2012-10-26T06:41:00.610 回答
0
如何显示访问的路由或控制器或一些有用的东西,可以让我调试为什么它显示 404?

您可以在 404 视图中回显 $_SERVER['REQUEST_URI'] 以确定用户试图去哪里。

于 2015-03-06T13:01:23.097 回答