S3 statische Seiten ohne .HTML Erweiterung
Dienen eine statische Seite aus der Amazon S3, Frage ich mich, wie man loswerden der .html
Datei-Erweiterungen für jede Seite.
Jetzt habe ich:
mysite.com/ # works fine, serves index.html
mysite.com/mypage.html # works fine
mysite.com/mypage # doesn't work
Den Fehler für /mypage
zeigt:
404 Not Found
Code: NoSuchKey
Message: The specified key does not exist.
Key: mypage
RequestId: 1089D7A26EFED9AD
HostId: Ud8cFy8Zl1mJ+oFjFOmU1Xacq9+v70KuaJfOc4nFMEPhd66AkLhr4Pj5u0QH6Gog
Ich habe versucht Einstellung der Content-Type
zu text/html
je dieser Beitragaber es behebt nicht das problem für mich.
Wie bekomme ich /mypage
zu dienen, die Datei zu /mypage.html
auf S3?
InformationsquelleAutor der Frage tyler | 2014-05-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte gerade dieses problem und ich möchte die Lösung:
Müssen Sie die meta-Daten der Datei
Content-type
zutext/html
UND umbenennen der Datei mit entfernen der.html
Ende.Diese Weise werden Sie in der Lage zu erreichen, auf jeder Seite, ohne die Datei-Endung.
InformationsquelleAutor der Antwort André Lucas
Im Allgemeinen auf Amazon S3 zu erstellen, der die clean-URLs können Sie:
Laden Sie die Seite Datei mit einem "sauberen" Namen, z.B.
mypage
und legen Sie dieContent-Type
eingestellttext/html
(wie der post den du verlinkt beschrieben). Sie müssen benennen Sie die Datei auf Ihrem system, bevor Sie es hochladen die keine Erweiterung haben, oder umbenennen es ohne die Erweiterung auf S3 nach dem hochladen. Der name der Datei auf S3 muss nicht haben die Erweiterung.Erstellen Sie einen Ordner mit der "sauberen" Namen und laden Sie die Seite Datei, um den Ordner mit seinem Namen eingestellt, um die Standard-index-Dokumentz.B.
index.html
. Sie brauchen, um zu überprüfen, was die Standard-index-Dokument-name ist. Dies wird festgelegt, wenn Sie konfigurieren Sie Ihre Eimer, als eine website, kann aber später geändert werden.Wenn Sie nicht die oben genannten arbeiten, können Sie das hochladen eines neuen null-byte-Objekt mit dem Namen key
mypage
und legen Sie dann eine Seite umleiten, durch die Angabe derWebsite Redirect Location
Schlüssel mit einem Wertmypage.html
in den Metadaten, die während der upload-Prozess. Siehe die Konfiguration einer Web-Seite Umleitung in der Amazon S3 Dokumentation.Könnte man auch die Datei kopieren, um ein neues Objekt mit dem Namen
mypage
mitContent-Type
eingestellttext/html
.InformationsquelleAutor der Antwort jamtin
Wie einige schon gesagt haben, löschen Sie die Datei-Endung, aber dann befolgen Sie einfach die folgenden Schritte:
Und wie die Leute gesagt haben, stellen Sie sicher, dass Ihr neue links in Ihrer html nicht enthalten .html-Datei-Erweiterung mehr. Dieser arbeitete für mich.
InformationsquelleAutor der Antwort BrotherDonkey
Erstellen Sie einen Ordner auf
/mypage
- und putting -index.html
innen war es nicht für mich arbeiten. Es stellt sich heraus, dass dies war, weil der Eimer, die "Index-Dokument" Einstellung geändert wurde, ummyindex.html
:Diese wurde tatsächlich angewandt, um alle Unterordner zu, so dass es war nicht auf der Suche für
/mypage/index.html
wenn auf der/mypage
route; es war auf der Suche nach/mypage/myindex.html
statt.Ich einfach geändert, die
myindex.html
Einstellung zurück zuindex.html
und die standard Ordner Struktur funktioniert. Es würde gearbeitet haben, ebenso gut zu verwendenmyindex.html
Dateien überall mit, dass die Einstellung an Ort und Stelle, aber das schien verwirrend für keine wirkliche Verstärkung.Ich weiß immer noch nicht, warum die Einstellung der
Content-Type
zutext/html
funktioniert nicht -- scheint, wie es sollte, wie erwähnt wird an mehreren stellen.Sowieso, das problem ist gelöst, indem der Eimer ist
Index Document
und alle Unterordner zu verwendenindex.html
.InformationsquelleAutor der Antwort tyler
Mit der AWS CLI:
Angenommen, Sie haben entfernt die Erweiterung aus dem Dateinamen und einrichten der AWS CLI mit Ihrem Konto, können Sie die meta-Daten der Datei, indem Sie diesen Befehl in der Konsole:
InformationsquelleAutor der Antwort captainblack
Sehr Einfache und erprobte Lösung. :
InformationsquelleAutor der Antwort Nirmal Bajpai
Für diejenigen, die sich mit Sammlungen ich war in der Lage zu prettify die links, indem eine zusätzliche
/
Zeichen bis zum Ende derInformationsquelleAutor der Antwort Dylan Pierce