2016-08-02 12 views
0

Ich habe derzeit folgende Lage Blöcke, die verschiedene URLs auf der Homepage umleiten:NGINX: Redirect eine Liste von veralteten URLs zur Startseite

location ~ ^/events/?(.*)$ { 
    return 301 /; 
} 

location ~ ^/news/?(.*)$ { 
    return 301 /; 
} 

location ~ ^/about/?(.*)$ { 
    return 301 /; 
} 

... 

Wesentlichen /events, /events/, /news, /news/, /about, /about/ alle / umleiten.

Gibt es einen saubereren Weg, der nicht so nass ist?

Antwort

1

Die Art, wie Sie es einrichten, ist völlig in Ordnung, und es ist bereits sauber, weil Sie genau sehen können, was Sie tun.

Wenn Sie es als ein location Block wirklich, wird dies den Trick:

location ~ ^/(events|news|about)?/.*$ { 
    return 301 /; 
} 

Die Erklärung:

Hier wird diese Position wird in den Klammern jede URI entsprechen, und es ist optional (?), damit es den abschließenden Schrägstrich enthält. Sie brauchen (.*) nicht, weil Sie diesen Teil der Zeichenfolge in keiner Weise als Rückverweis verwenden, so dass Sie ihn nicht speichern müssen. (Sie könnten natürlich, und das ist auch in Ordnung.)

+0

schön, vielen Dank! – robinnnnn

+0

Es ist mir ein Vergnügen, froh, dass ich helfen konnte :) –