0

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

请提出解决方案。感谢。

4

1 回答 1

0

路由从上到下应用,因此您需要首先列出更具体的规则,然后才是更通用的规则:

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

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

我会检查这些事情:

  • .htaccess 文件(如果您正在使用它)
  • 导致无限循环的控制器(那里的任何重定向、_remap方法等)
于 2013-02-25T15:26:29.537 回答