Nginx-Regex-Umschreibregel für Bilder

Nginx-Regex-Umschreibregel für Bilder

Ich habe folgende URLs:

  • www.example.com/data/images/13122013-002_IM1621.jpg
  • www.example.com/data/images/13122013-002_IM1622.jpg
  • www.example.com/data/images/13122013-002_IM1622.jpg

Die Bilder im Dateisystem tragen die folgenden Namen:

  • 1621.jpg
  • 1622.jpg
  • 1623.jpg

Was ist die richtige Umschreibregel? Ich habe Folgendes versucht:

location / {
rewrite ^/.*_IM(.*)$ /data/images/$1;
}

Aber ich erhalte immer wieder einen 404-Fehler.

Antwort1

Ändern Sie den Standort in location ~ \.jpg$(oder in einen spezifischeren Pfad, aber mit regulärem Ausdruck) und überprüfen Sie.

Beachten Sie, dass Regex-Standorte in der Reihenfolge in der Konfiguration verwendet werden, nicht nach „bester Übereinstimmung“.

"/" funktioniert möglicherweise nicht, da es auf jede Anfrage zutrifft. Es wird nur als letztes Mittel verwendet (wahrscheinlich – wir sehen Ihre Konfiguration nicht).

verwandte Informationen