Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter动态路由不工作_Php_Codeigniter_Codeigniter 2_Codeigniter Url - Fatal编程技术网

Php Codeigniter动态路由不工作

Php Codeigniter动态路由不工作,php,codeigniter,codeigniter-2,codeigniter-url,Php,Codeigniter,Codeigniter 2,Codeigniter Url,下面是我的代码 $route['default_controller'] = "products"; $route['products/([:any])'] = "category/subcategory"; $route['404_override'] = ''; 如果我在products/之后得到任何参数,我需要重定向到category/subcategory。我将使用通配符,但它仍然不起作用。它给我404找不到的错误 这是我的分类控制器代码:- if( ! defined('BASEPA

下面是我的代码

$route['default_controller'] = "products";
$route['products/([:any])'] = "category/subcategory";
$route['404_override'] = '';
如果我在products/之后得到任何参数,我需要重定向到category/subcategory。我将使用通配符,但它仍然不起作用。它给我404找不到的错误

这是我的分类控制器代码:-

if( ! defined('BASEPATH')) exit('No direct script access allowed');
class category extends CI_Controller{
    function category(){
        parent::__construct();
    }

    function index(){
        echo 'index';
    }

    function subcategory(){
        echo 'subcategory'; 
    }
}
试试这个,它对你有用。

我得到了解决方案

$route['products/(:any)'] = 'products/subcategory/$1';

您必须定义404覆盖并使用$route['products/([:any])]=“category/subcategory/$1”;感谢回答Ankit…但我想重定向类别/子类别。我尝试了你们提供的解决方案……但仍然找不到它的give 404。产品后面只有一个小写字母,这就是为什么我使用([a-z])或([:any])。当调用uri/category/subcategory时,它将调用名为subcategory的product controller函数。我提供的路由为product controller的所有操作动态工作,您不需要为属于product controller的所有操作编写路由,并且操作名称可能是ant,这是我添加资本和编号的方式全部如此。$route['product/subcategory']='category/subcategory';此路线针对您的问题
$route['products/(:any)'] = 'products/subcategory/$1';