doutan3040 2017-01-05 13:43
浏览 20

codeigniter中控制器之前的自定义字符串

My goal is to put e.g. USERNAME before all other routes like this:

https://my.exaple.com/USERNAME/controller/function/val1/val2

My site is already running with aprox 50 routes. I know i have to put into routes.php something like this:

$route[(:any)/controller]

but that means rewrite all redirects in controllers.

I would not like to rewrite them, to add this quite small feature.

Is possible to pass this parameter somehow dynamically, so I would have not to change all my controllers?

  • 写回答

1条回答 默认 最新

  • dstnlhhv791576 2017-01-05 17:06
    关注

    In order to add USERNAME to all redirects, you can create custom url helper, taking it from system/helpers/url_helper.php and modifying the redirect function (pseudocode):

    if ( ! function_exists('redirect'))
    {
        ...
    
        // Let's add here username to the start of the url
        $uri = get_instance()->user_model->get_username() . "/" . $uri;
    
        switch ($method)
        {
            case 'refresh':
                header('Refresh:0;url='.$uri);
                break;
            default:
                header('Location: '.$uri, TRUE, $code);
                break;
        }
    
        ...
    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算