2016-03-22 3 views
1

Wie konvertiert man die .htaccess-Konfiguration in nginx?

Mein .htacess:

Options -MultiViews 
RewriteEngine On 
RewriteBase /mvc/public 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

ich das versucht:

nginx Konfiguration

location /mvc/public/ { 
if (!-e $request_filename){ 
rewrite ^/mvc/public/(.+)$ /mvc/public/index.php?url=$1 [QSA,L]; 
} 
} 

Aber das hat nicht funktioniert! Könnte mir jemand helfen?Wie konvertiert man .htaccess in ein Nginx-Äquivalent?

Antwort

0

Die [QSA,L] ist nicht nginx Syntax - siehe this document für Details.

location /mvc/public/ { 
    if (!-e $request_filename) { 
     rewrite ^/mvc/public/(.+)$ /mvc/public/index.php?url=$1 last; 
    } 
} 

Ein ähnliches Verhalten kann mit try_files eher erreicht werden als die if:

location /mvc/public/ { 
    try_files $uri $uri/ @rewrite; 
} 
location @rewrite { 
    rewrite ^/mvc/public/(.+)$ /mvc/public/index.php?url=$1 last; 
} 

Siehe this document für weitere Einzelheiten.

Verwandte Themen