2017-08-05 1 views
1
location/{ 
    try_files $uri $uri/ /index.php?$args =404; 

    rewrite ^/(\w+)$ /?system=$1 break; 
} 

Dieser Block umschreibt /first zu /?system=first, /second-/?system=second usw.nginx bedingte Rewrite-Ausgabe

Allerdings sollte diese Rewrite nicht für /six und /nine erfolgen. Wie könnte ich diese Bedingung schreiben?

Antwort

1

mit regex

Fest
rewrite ^/((?!six|nine)\b\w+$) /?system=$1 break; 
+0

Sie können die ersten "\ b" hinter "neun" überspringen. –

+0

@ qräbnö Danke! Das andere Problem ist, dass ich nur neu schreiben möchte, wenn der erwähnte String zuerst geht. Zum Beispiel, ich will nicht umschreiben/etwas/"zweite" – Leeloo

+0

Sie tun '^ /' bereits am Anfang und keine '/' am Ende. Also '/ etwas/Sekunde' wird nicht gefunden !? –