voglio avere delle belle pagine di errore. Per questo ho bisogno di ottenere alcuni file CSS e JS. Ma per qualche strana ragione l'uso di base_url()
non funziona su error_pages. Naturalmente potrei semplicemente usare href="/css/style.css"
e dirgli di ottenerlo dalla cartella principale. Ma il sito web potrebbe benissimo essere messo in una cartella diversa dalla cartella radice. Quindi usare /
non è un'opzione.La funzione base_url() non funziona sulle pagine di errore. Anche dopo l'autoloading
Quindi la mia domanda ora è perché non funziona base_url()
su una pagina di errore? L'ho caricato automaticamente, quindi non dovrebbe funzionare?
Questo è quello che ho provato quando stavo cercando di ottenere il base_url() dalla pagina error_404 nella vista.
Nel mio autoload.php ho incluso l'assistente url
$autoload['helper'] = array('url', 'form');
E nella mia pagina error_404 (application/vista/errori/html/error_404.php) sto facendo eco alla base_url in questo modo:
<?php echo base_url(); ?>
Questo è l'errore che sto ricevendo:
An uncaught Exception was encountered
Type: Error
Message: Call to undefined function base_url()
Filename: /usr/local/www/example.com/application/views/errors/html/error_404.php
Line Number: 37
Backtrace:
File: /usr/local/www/example.com/index.php
Line: 315
Function: require_once
Preferisco non apportare modifiche nella cartella system
poiché non desidero ripetere il processo ogni volta che aggiorno la cartella Codeigniter.
Sistema:
Codeigniter 3.0.6
PHP 7.0.8
Nginx 1.11.1
UPDATE: mi piacerebbe chiamare base_url su ogni pagina di errore (db, 404, generale, php, ecc).
http://stackoverflow.com/questions/ 2310061/how-can-i-redirect-a-404-error-in-a-custom-404-page-using-codeigniter Dai un'occhiata a questo. –
Che funzionerà sicuramente. Ma non è eccessivo? Creare una classe personalizzata solo per mostrare base_url()? Aspetterò un po 'per vedere altre risposte. – Efekan
E le altre pagine_errore? Il commento sopra funzionerà solo per la pagina 404, ho corretto? – Efekan