2016-11-22 2 views
0

Ich habe eine Website, die Laravel Setup So unter http://www.example.com/lara/ laufen, die meisten Laravel Seiten haben URLs vom Typ http://www.example.com/lara/page/23 OR http://www.example.com/lara/category/23 usw.Nginx URL umschreiben

Nginx ist der zugrunde liegende Server, und es hat die folgende Konfiguration zu handhaben Diese Anfragen:

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

Alles funktioniert in Ordnung.

Nun, ich brauche eine spezielle Seite mit der URL http://www.example.com/mystuff/ einrichten, die tatsächlich von behandelt wird http://www.example.com/lara/category/29

diese Funktion erhalten ich folgende Rewrite rechts unten location /lara/ hinzugefügt, das heißt:

rewrite ^/mystuff/(.*)$ /lara/category/29/$1 last; 

Leider bekomme ich eine Seite nicht gefunden Fehler. Irgendwelche Einsichten?

Weitere Untersuchungen & Forschung:

1)

location /mystuff/ { 
return 301 /lara/index.php/category/29; 
} 

gearbeitet, obwohl das nicht (Browser-Adressleiste Änderungen), was ich will eigentlich.

2) Sieht so aus, als würde Laravel das aktualisierte REQUEST_URI nicht sehen.

+1

Was ist, wenn Sie es über dem 'Standort/lara /' Block platzieren? –

+0

@RichardSmith Ich versuchte das auch und führte zu einer Seite nicht gefundenen Fehler. – mishka

+1

Funktioniert '/ lara/category/23 /' (mit dem Schrägstrich)? –

Antwort

0

Versuchen Sie, diese

server { 
    ... 
    rewrite ^/lara/(.*)\..*$ $1/mystuff last; 
    return 403; 
    ... 
}