现在,当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中没有语言目录)。
答案 0 :(得分:1)
当CI没有为页面找到正确的路由时,它知道没有这样的页面,因此它给出了404 NOT NOTISTIST ..
如果用户尝试在您的网站上打开/ sgasgasggsasga页面,则会因为同样的原因而获得404 ..
你必须自己找到它显示404 ...
请http://codeigniter.com/user_guide/general/routing.html寻求帮助:)
答案 1 :(得分:0)
在您的应用上启用error logging。
然后,一旦查找错误,您将看到生成404错误的请求的URI。
答案 2 :(得分:0)
将在计算机上正确填写答案,但看看Debugging routes in codeigniter?它是否有路线记录
答案 3 :(得分:0)
如何显示访问的路径或控制器或有用的东西,以便我可以调试它显示为404的原因?
您可以在404视图中回显$ _SERVER ['REQUEST_URI']以确定用户尝试去的位置。