Codeigniter URL重新映射以删除段

时间:2013-05-27 03:32:32

标签: php codeigniter

我有一个codeigniter网站,请求网址采用以下形式:

example.com/segment1/segment2/segment3 where:

segment 1 is a folder name
segment 2 is a controller name
segment 3 is a function name

我想将这些请求重新映射到:

example.com/segment2/segment3

我在我的* routes.php * config:

中试过这个
$route['(:any)/(:any)/(:any)'] = "$2/$3/$1";

我浏览器地址栏中显示的请求未更改:

example.com/segment1/segment2/segment3

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以将其添加到.htaccess文件中(正如您提到的文件夹是静态的):

RewriteRule ^(.*)?/(.*)?$   your-folder-here/$1/$2   [L,NC]                                                 

答案 1 :(得分:0)

这会有效,但这会覆盖所有可能的URL。

$route['(:any)/(:any)'] = 'controller_name/$1/$2';

为了使其他控制器工作,你必须在上述声明之前定义

$route['other_controller_1/(:any)'] = 'other_controller_1/$1';
$route['other_controller_2/(:any)'] = 'other_controller_2/$1';

URI Routing : Codeigniter User Guide