为多个控制器创建短网址?

时间:2011-11-26 20:46:29

标签: php codeigniter

对于我在codeignitor中的当前项目,我需要创建这样的用户配置文件

http://domain.com/userid

然后我尝试在router.php

中添加它
$route['(:any)'] = 'profile/user/$1';

哪个工作正常。现在我想为这样的语言创建另一个URL

http://domain.com/es
http://domain.com/fr

至于两个url uri段是第一个,当我输入

 http://domain.com/es

我看到了

的页面
 http://domain.com/userid

我正在使用.htaccess文件删除codeignitor中的index.php。有什么帮助我怎么能在为多个控制器制作镜头网址时执行此任务。使用.htaccess或router.php?

1 个答案:

答案 0 :(得分:1)

因为路线系统从上到下工作,如果你有多个可以匹配网址的规则,它会选择第一个。所以你可以这样做:

$route['(es|fr|en)'] = 'language/$1';
$route['(:any)'] = 'profile/user/$1';

如果第一个规则匹配,则运行,否则测试配置文件规则 使用该配置文件规则肯定会继续遇到问题,如果您执行以下操作会更容易:

$route['users/(:any)'] = 'profile/user/$1';

这样会更清楚网址的作用,并且在将来编写规则时它会帮助你。