3 Stimmen

S3 Weiterleitung der Basisdomäne zum Schlüsselprefixordner

Ich verwende einen S3-Bucket, um eine statische Website mydomain.com zu hosten. Ursprünglich war das Blog-Inhaltslayout

  • index.html
  • posts/article.html

Jetzt halte ich alle Blog-Inhalte in einem blog-Verzeichnis.

  • blog/index.html
  • blog/posts/article.html

Ich habe die Website-Host-Funktion auf meinem Bucket mydomain.com aktiviert. Ich möchte S3's benutzerdefinierte Umleitungsregeln verwenden, um alte URLs umzuleiten, die das Präfix 'blog' nicht enthalten. Zum Beispiel sollte mydomain.com/index.html auf mydomain.com/blog/index.html umgeleitet werden.

Ich habe es versucht

            /

            blog/

und

            mydomain.com/

            mydomain.com/blog

aber das erste Ergebnis führt zu einer Umleitungs-Schleife (nicht überraschend) und das zweite funktioniert nicht.

4voto

Bharat Jain Punkte 654

Überprüfen Sie, ob der folgende Hack funktioniert - Fügen Sie "HttpErrorCodeReturnedEquals=404" zur Bedingung hinzu. Ich erwarte, dass folgende Ereignisse eintreten

  1. Rufen Sie "www.example.com/index.html" auf
  2. Erhalten Sie 404, da die Seite nicht vorhanden ist
  3. Ihre Präfixbedingung zusammen mit 404 passt zu einer Weiterleitungsregel
  4. Also sollte "/blog" als Präfix hinzugefügt werden
  5. Die Seite "www.example.com/blog/index.html" wird zurückgegeben.

Beim Lesen der Dokumentation fand ich keinen Weg, um eine negative Bedingung wie "KeyPrefixNotEquals" anzugeben, um die Rekursion zu vermeiden

3voto

user3052479 Punkte 31

Sie müssen die Redirect-Regeln verwenden und das Element ReplaceKeyPrefixWith hinzufügen:

       https
       meinedomain.com
       blog/
       301

HINWEIS: Einige Browser-Caches können sehr hartnäckig sein, also stellen Sie sicher, dass Sie entweder eine andere Browsersitzung verwenden, um Ihre Weiterleitungsregeln zu überprüfen, oder schließen Sie den Browser und öffnen Sie ihn erneut, um zu überprüfen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X