¿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?
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), '/');
}
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
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");
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.
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.
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 .
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