CodeIgniter 3.1.9 URL路由到子文件夹的问题

时间:2018-07-09 07:29:20

标签: codeigniter-3

我在CodeIgniter 3.1.9中遇到URL路由问题,如果有人可以帮助我解决此问题,我将不胜感激。此路由在CodeIgniter 2.4及更早版本中运行良好。

下面是codeigniter 2.4中运行的 routes.php

$route['default_controller'] = "home";
$route['404_override'] = '';

$route['home'] = "home";
$route[test1] = "home";
$route[test2] = "home";
$route[test3] = "home";
$route['test1/select-product] = "home/SelectProduct";
$route['test2/select-product] = "home/SelectProduct";
$route['test3/select-product] = "home/SelectProduct";

下面是网页目录结构及其映射:

Web根目录结构:

/var/www/html/

├── application
├── assets
├── test1-> /var/www/html/
├── test2-> /var/www/html/
├── test3-> /var/www/html/
├── index.php
├── system


/var/www/html/test1 is symbolic link to /var/www/html
/var/www/html/test2 is symbolic link to /var/www/html
/var/www/html/test3 is symbolic link to /var/www/html

“资产”目录具有test1,test2和test3中每个页面的所有自定义。

此设置在使用公共IP或域名的CodeIgniter 2.4中可以正常运行。在最新版本中,当使用带有emp。的emply base_url的私有IP浏览时,它仍然可以正常工作。

但是,在CodeIgniter 3.1.9中,当我在任何https://example.com/test[1,2,3...] URL中填写表单后按“继续”时,页面将返回到base_url https://example.com

https://example.com指向/ var / www / html,并且是base_url。

每个子目录(test1 / test2 / test3)的表单均以正确的自定义格式加载,但是当我按继续继续进入下一页时,它将路由回到https://example.com/

预期结果:
当我点击位于https://example.com/test1/的表单上的继续时, 应该路由到https://example.com/test1/select-product,同样也要路由到test2和test3

可能的解决方案:
我在这个论坛上发现了几篇文章,说“通过默认的codeIgniter 3版本及更高版本,您不能在默认的控制器路由中使用子文件夹。为了能够使用default_controller中的子文件夹,您需要使用MY_Router.php。”但是,没有推荐的修复程序对我有用。 我是CodeIgniter的新手,对PHP的了解有限。如果有人可以帮助我解决此问题,我将非常感谢。

谢谢。

0 个答案:

没有答案