Ho rimosso index.php dall'URL impostando il file .htaccess. Ora voglio rimuovere index.php dal valore di ritorno site_url() perché non voglio che i motori di ricerca conservino nella cache i miei URL contenenti index.php. Ad esempio, quando utilizzo site_url() in una parte del mio progetto, i motori di ricerca inseriscono nella cache l'URL come http://url/index.php/controller. Rimuovo index.php dalla funzione site_url in system/helper ma penso che le funzioni redirect e form_open non funzionino correttamente.Rimuovi index.php dalla funzione site_url nel codeigniter
6
A
risposta
12
scrittura nel file .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
E set config index_page nel config.php
$config['index_page'] = '';
2
È possibile utilizzare la funzione base_url()
:
echo base_url(); // http://example.com/website
echo site_url(); // http://example.com/website/index.php
'base_url()' sarà ritorna 'http: // example.com/website/index.php', se hai' $ config ['index_page'] = 'index.php'' impostato in 'config.php' –