doulouxun6756 2012-07-20 03:50
浏览 79
已采纳

从codeigniter中的主域和子域获取base_url

I have two application for my project

  1. site.com
  2. api.site.com

And here's my config

$config['base_url'] = 'http://' . $_SERVER['HTTP_HOST'] . '/';

If I run site.com, how to get base_url or site_url of api.site.com?

If I run api.site.com, how to get base_url or site_url of site.com?

  • 写回答

3条回答 默认 最新

  • dongxin5054 2012-07-20 05:21
    关注

    There is no such function to retrieve the URL in your way. You need to do it manually. Create a helper called base_helper.php inside helpers directory and write this code.

    if (!defined('BASEPATH'))
        exit('No direct script access allowed');
    
    if (!function_exists('url')) {
    
        function url($param = TRUE)
        {
            if ($param) {
                return 'http://site.com/';
            }
            return 'http://api.site.com/';
        }
    
    }
    

    You can call this helpers in controllers/views you wish. Use true and false parameter to get main domain or sub domain.

    $this->load->helper('base');
    echo url();
    echo "
    ";
    echo url(false);
    

    Prints

    http://site.com/
    http://api.site.com/
    

    Hope this helps you. Thanks!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?