2013-02-17 5 views
10

Ho il seguente file .htaccess per il mio apache:Conversione .htaccess a nginx (mod_rewrite)

<IfModule mod_rewrite.c> 
 Options +FollowSymlinks  
# Options +SymLinksIfOwnerMatch 
 RewriteEngine On 
 RewriteBase/
 RewriteRule ^$          index.php       [L] 
 RewriteCond %{REQUEST_FILENAME}         !-f 
 RewriteCond %{REQUEST_FILENAME}         !-d 
 RewriteRule (.*)        index.php?page=$1  [QSA,L] 
</IfModule> 

Improvvisamente ho dovuto cambiare il mio server web per nginx e io non so perché, ma la la riscrittura mod non funziona.

ho usato un 'convertitore' on-line per convertirlo, quindi ho il seguente:

location/{ 
    rewrite ^/$/  index.php  break; 
    if ($request_filename ~   !-f){ 
    rewrite ^(.*)$/  index.php?page=$1 break; 
    } 
} 

Could you help me cosa c'è di sbagliato?

Grazie in anticipo, Marcell

+4

Che idiota chiuso questo? L'aggiornamento delle regole di riscrittura mod quando si passa da Apache a nginx è necessario per la maggior parte dei siti. – Sam

risposta

0

$ sudo vim/etc/nginx/sites-available/default

location/{ 
     try_files $uri $uri/ =404; 
    } 

a

location/{ 
    try_files $uri $uri/ /index.php?$args; 
}