【问题标题】:Redirection rules in codeignitercodeigniter 中的重定向规则
【发布时间】:2013-02-25 23:26:29
【问题描述】:

我想在我的 codeigniter 站点中创建位置页面。所以我有一个名为位置和索引方法的控制器。所以所有http://mysite.com/location_name的请求都应该登陆http://mysite.com/index.php/locations/index。并且所有其他都应该像http://mysite.com/login一样工作,应该登陆http://mysite.com/index.php/home/login。联系我们http://mysite.com/contact-us应该登陆http://mysite.com/index.php/home/contact

我试图通过编写以下线路路由规则(route.php)来实现这一点:

$route['(:any)'] = 'locations';  //location name can be anything around the world

所以位置工作正常,但http://mysite.com/loginhttp://mysite.com/contact-us 不工作,它们在无限循环中不断重定向。

请提出解决方案。谢谢。

【问题讨论】:

  • 我记得路线是按出现的顺序排列的,请确保在(:any)之前设置登录和联系我们的逻辑
  • @eric.itzhak,谢谢。但我已经尝试过订单。我已经写好了回家的规则,登录并先联系我们。最后是任何。仍然面临这个问题。

标签: codeigniter redirect any


【解决方案1】:

routes are applied from top to bottom,因此您需要先列出更具体的规则,然后才是更通用的规则:

$route['login'] = 'home/login';
$route['contact-us'] = 'home/contact';
$route['(:any)'] = 'location/index';

我看到您提到您已尝试更改路由文件中的规则顺序。因此,如果您已完成此操作并且它不起作用 - 您还有其他事情要做。

我会检查这些事情:

  • .htaccess 文件(如果您正在使用它)
  • 导致无限循环的控制器(其中的任何重定向、_remap 方法等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-14
    • 2015-01-26
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多