2014-10-06 15 views
5

Problemi con mod_rewrite nell'ambiente Fast-cgi per CodeIgniter. Il mio .htaccess ha il seguente aspetto:Come rimuovere index.php da codeigniter in Fast-cgi

DirectoryIndex index.php 
    RewriteEngine on 
    RewriteCond $1 !^(index\\.php|images|css|js|robots\\.txt|favicon\\.ico) 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /index.php?$1 [L] 

Ma ho ricevuto un errore 'Nessun file di input specificato'.

ho cambiato

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.* - [L] 

RewriteCond $1 !^(index\.php|images|robots\.txt) 
#RewriteRule ^(.*)$ /index.php?/$1 [QSA,L] 

<IfModule mod_php5.c> 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

<IfModule !mod_php5.c> 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

Funziona solo con anche questo:

#RewriteRule ^(.*)$ /index.php?/$1 [QSA,L] 

Il mio problema è che ho ancora l'index.php sull'URL, se ho cambiato il file di configurazione application/config/config.php da $ config ['index_page'] = 'index.php'; a $ config ['index_page'] = ''; Ho un errore diverso.

Cosa faccio di sbagliato?

+3

ho trovato la soluzione sul application/config/config.php , Ho cambiato $ config ['uri_protocol'] = 'AUTO'; a $ config ['uri_protocol'] = 'REQUEST_URI'; – nandoC

risposta

0

aggiungere il codice nel file .htaccess

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

e file config.php cambiamento

$config['index_page'] = 'index.php'; 

a

$config['index_page'] = '';