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

  1. Ayudante de URL

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 .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow