¿cuál es la diferencia entre url del sitio() y url base()?


Como he leído en algunos recursos, base_url() y site_url() funciones en codeigniter son casi lo mismo, aunque mi versión de codeigniter (2.1.3) no tiene un site_url() en su configuración.archivo php (en el directorio de configuración).

Sin embargo, hay diferencias entre ellos de alguna manera ya que he visto site_url() con parámetros y nunca he visto base_url() sosteniendo ninguno?

Author: Akhilesh krishnan, 2013-06-13

6 answers

echo base_url(); // http://example.com/website
echo site_url(); // http://example.com/website/index.php

Si desea un acceso URL a un recurso (como css, js, image), use base_url(), de lo contrario, site_url() es mejor.

Para una referencia detallada, Compruebe esta función en CodeIgniter.

public function site_url($uri = '')
    {
        if (empty($uri))
        {
            return $this->slash_item('base_url').$this->item('index_page');
        }
        $uri = $this->_uri_string($uri);
        if ($this->item('enable_query_strings') === FALSE)
        {
            $suffix = isset($this->config['url_suffix']) ? $this->config['url_suffix'] : '';
            if ($suffix !== '')
            {
                if (($offset = strpos($uri, '?')) !== FALSE)
                {
                    $uri = substr($uri, 0, $offset).$suffix.substr($uri, $offset);
                }
                else
                {
                    $uri .= $suffix;
                }
            }
            return $this->slash_item('base_url').$this->slash_item('index_page').$uri;
        }
        elseif (strpos($uri, '?') === FALSE)
        {
            $uri = '?'.$uri;
        }
        return $this->slash_item('base_url').$this->item('index_page').$uri;
    }

Función de URL base.

public function base_url($uri = '')
        {
            return $this->slash_item('base_url').ltrim($this->_uri_string($uri), '/');
        }
 62
Author: Fasil kk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-04 06:22:56

site_url: Devuelve base_url + index_page + uri_string

base_url: Devuelve base_url + uri_string

Vea el código fuente de ambas funciones en: https://github.com/EllisLab/CodeIgniter/blob/606fee0e2e0aa6a906db82e77090e91f133d7378/system/core/Config.php

 14
Author: sikander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-13 05:26:19

1. site_url

El propósito de site_url es que sus páginas se vuelvan más portátiles en caso de que su URL cambie.El site_url aparece con el archivo index.php.

Los segmentos se pueden pasar opcionalmente a la función como una cadena o una matriz.

echo site_url("news/local/123");

Dará: http://ci.com/index.php/news/local/123

Incluso puede pasar segmentos como una matriz:

$segments = array('news', 'local', '123');
echo site_url($segments);

2. base_url

base_url es sin el index_page o url_suffix que se añade. como site_url, puede suministrar segmentos como una cadena o una matriz.

Si desea una URL de acceso a un recurso use base_url puede proporcionar una cadena a un archivo, como una imagen o una hoja de estilo else site_url es suficiente.

echo base_url("/images/icons/image.png");
 10
Author: Akhilesh krishnan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-24 07:22:34

Site_url() es execute index.php que por qué site_url es mejor que comparar con base_url.

 1
Author: zohaib malik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-27 12:22:49

base_url() que se utiliza comúnmente en Codeigniter se puede utilizar incluso sin la .php extensión.

site_url() que se utiliza comúnmente en Wordpress plantilla personalizada se puede utilizar incluso cuando se acaba de llamar a la post_title del blog o el nombre del archivo con la extensión.

 0
Author: Archangel08,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-06 03:46:59

Me gustaría añadir cuándo usar base_url() y site_url() . Básicamente se puede usar site_url () mientras se crean enlaces para controladores, mientras que base_url () se puede usar donde necesitamos crear urls para los activos como cargar un archivo css o js o alguna imagen .

Lo que siempre prefiero es usar site_url() para crear enlaces a controladores o url ajax y base_url() para cargar activos .

 0
Author: Tom Freek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-22 12:07:54