codeigniter中的重定向规则

时间:2013-02-25 14:39:57

标签: codeigniter redirect any

我想在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不起作用,它们会在无限循环中连续重定向。

请建议解决方案。感谢。

1 个答案:

答案 0 :(得分:0)

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

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

我看到您提到您已尝试更改路径文件中的规则顺序。所以,如果你已经做到这一点并且它不起作用 - 你还有别的东西在继续。

我会检查这些事情:

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