codeigniter
URL base en Codeigniter
Buscar..
Configuración de su url base en Codeigniter
Necesitará establecer su URL base en application/config/config.php
Si no está configurado, CodeIgniter intentará adivinar el protocolo y la ruta de acceso a su instalación, pero por razones de seguridad, el nombre de host se configurará en $_SERVER['SERVER_ADDR']
si está disponible, o localhost de lo contrario. El mecanismo de autodetección existe solo por conveniencia durante el desarrollo y NO DEBE utilizarse en la producción.
$config['base_url'] = '';
Debe ser archivado como
$config['base_url'] = 'http://localhost/projectname/';
$config['base_url'] = 'http://www.example.com/';
Siempre es bueno usar /
al final de base_url
Cuando no configura su URL base, puede encontrarse con algunos errores en los que no puede cargar su CSS, imágenes y otros elementos activos. Y también es posible que tenga problemas para enviar formularios, ya que algunos usuarios se han dado cuenta.
Actualizar
Si no desea configurar su URL base de otra manera es.
Cree un nuevo archivo de núcleo en application/core/MY_Config.php
Y pega este codigo
<?php
class MY_Config extends CI_Config {
public function __construct() {
$this->config =& get_config();
log_message('debug', "Config Class Initialized");
// Set the base_url automatically if none was provided
if ($this->config['base_url'] == '')
{
if (isset($_SERVER['HTTP_HOST']))
{
$base_url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off' ? 'https' : 'http';
$base_url .= '://'. $_SERVER['HTTP_HOST'];
$base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}
else
{
$base_url = 'http://localhost/';
}
$this->set_item('base_url', $base_url);
}
}
}
Algo más sobre base_url
¿Qué pasa si no configuro base_url
?
No obtendrá ningún error de Impotencia para configurar esto y continuar. Puede continuar sin configurar, pero debe saber acerca de la inyección del encabezado HTTP
Si no lo puse ¿qué aparecerá?
Obtendrá http://[::1]/
lugar de su URL real.
¿Qué significa esto http://[::1]/
??
Esta es la URL temporal que establece por CI por defecto. Esto apuntará a la raíz de su documento.
::1
- Dirección del servidor (localhost) Lea más sobre esto
¿Cómo establecer una base_url()
adecuada base_url()
?
La URL base siempre debe apuntar a la raíz de la carpeta de su proyecto. (fuera de la carpeta de la aplicación)
$config['base_url'] = 'http://localhost/path/to/project'; # If localhost
$config['base_url'] = 'http://stackoverflow.com/'; # If live
$config['base_url'] = 'http://stackoverflow.com/documentation'; # If live & inside subdomain (assume documentation is subfolder/subdomain)
¿Cómo usar base_url()
?
El uso más común es encontrar la ruta correcta a sus archivos js o css.
<link rel="stylesheet" href="<?php echo base_url('styles/style.css');?>" />
<script src="<?php echo base_url('vendor/jquery/jquery.min.js');?>"></script>
Agregar el código de arriba en tu vista producirá HTML como se muestra a continuación:
<link rel="stylesheet" href="http://localhost/path/to/project/styles/style.css" />
<script src="http://localhost/path/to/project/vendor/jquery/jquery.min.js"></script>
Campo de golf
Forma inteligente de configurar el base_url
Las siguientes líneas de código son una forma más inteligente de configurar base_url
en codeigniter:
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
Recomendado es
$config['base_url'] = 'https://stackoverflow.com/';
Porque todo el mundo conoce el espacio de alojamiento. Entonces, si configura de esta manera, puede evitar la inyección en su sitio / host .