[英]Codeigniter URL remapping to remove segment
我有一个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
我已经在my * routes.php *配置中尝试过此操作:
$route['(:any)/(:any)/(:any)'] = "$2/$3/$1";
浏览器地址栏中显示的要求不变:
example.com/segment1/segment2/segment3
我怎样才能解决这个问题?
您可以将其添加到您的.htaccess文件中(正如您提到的,文件夹是静态的):
RewriteRule ^(.*)?/(.*)?$ your-folder-here/$1/$2 [L,NC]
这将起作用,但是它将覆盖所有可能的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';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.