Ricerca…


Impostazione dell'URL di base in Codeigniter

Dovrai impostare l'URL di base in application/config/config.php

Se non è impostato, CodeIgniter tenterà di indovinare il protocollo e il percorso dell'installazione, ma a causa dei problemi di sicurezza il nome host verrà impostato su $_SERVER['SERVER_ADDR'] se disponibile, o localhost in caso contrario. Il meccanismo di rilevamento automatico esiste solo per comodità durante lo sviluppo e NON DEVE essere utilizzato in produzione!

$config['base_url'] = '';

Dovrebbe essere archiviato come

$config['base_url'] = 'http://localhost/projectname/';

$config['base_url'] = 'http://www.example.com/';

Sempre buono da usare / alla fine di base_url

Quando non imposti il ​​tuo URL di base, potresti riscontrare degli errori in cui non puoi caricare il tuo CSS, le immagini e altri elementi delle risorse. Inoltre potresti avere problemi nell'invio di moduli come alcuni utenti hanno riscontrato.

Aggiornare

Se non si desidera impostare l'URL di base in un altro modo è.

Crea un nuovo file core in application/core/MY_Config.php

E incolla questo codice

<?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);

        }
    }
}

Qualcosa di più su base_url

Cosa succede se non imposto base_url ?

Non otterrai alcun errore di impotenza per impostarlo e procedere. È possibile continuare senza impostazioni, ma è necessario conoscere l' iniezione dell'intestazione HTTP


Se non l'avessi impostato, cosa apparirà?

Otterrai http://[::1]/ invece del tuo vero URL.


Cosa significa http://[::1]/ ??

Questo è un URL temporaneo impostato da CI per impostazione predefinita. Questo punterà alla radice del tuo documento.

::1 - Indirizzo del server (localhost) Ulteriori informazioni su questo


Come impostare il corretto base_url() ??

L'URL di base dovrebbe sempre puntare alla radice della cartella del progetto. (cartella dell'applicazione esterna)

$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)

Come usare base_url() ??

L'uso più comune è trovare il percorso giusto per i file 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>

L'aggiunta del codice sopra nella tua vista produrrà HTML come di seguito:

<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>

link

  1. Helper URL

Modo intelligente per impostare il base_url

Le seguenti righe di codice rappresentano un modo più intelligente di impostare il valore base_url nel 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']);

Consigliato è

$config['base_url'] = 'https://stackoverflow.com/';

Perché tutti conoscono lo spazio di hosting. Quindi, se si imposta in questo modo è possibile impedire l'iniezione al tuo sito / host .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow