2016-03-24 9 views
1

Ich habe eine Jekyll-generierte statische HTML-Seite, die ich als meine Homepage verwende. Derzeit versuche ich, es vom traditionellen Hosting-Service auf AWS S3 zu migrieren. Bisher habe ich es geschafft, alle meine Dateien im Bucket zu veröffentlichen und das Webhosting zu ermöglichen, aber wenn es ums Browsen geht, ist die Seite kaputt.AWS S3-Routing-Regeln zum Anhängen von .html oder index.html

subpages/ Grundsätzlich ist nicht neu geschrieben in subpages/index.htmlsubpages/entry1 und wird nicht neu geschrieben in subpages/entry1.html.

Früher verwendete ich .htaccess Config wie diese:

Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^(.*subpages/[^.]+)/?$ $1.html 
RewriteRule ^(.*subpages2/[^.]+)/?$ $1.html 

es neu zu schreiben, wie beabsichtigt.

Wie könnte solches Verhalten mit S3-Routing-Regeln neu erstellt werden? Documentation stellt in dieser Hinsicht ziemlich begrenzte Konfigurationsoptionen vor und gibt keine Beispiele, wie ein solches Szenario erreicht werden könnte.

Antwort

4

Amazon S3 verfügt nicht über umfangreiche Funktionen zum erneuten Schreiben.

Sie können ein Standarddokument zum Lesen angeben, wenn eine Verzeichnisreferenz angegeben wird. Beispielsweise können Sie angeben, dass das Standarddokument index.html ist. Auf diese Weise wird, wenn / angefordert wird, es /index.html. Dies ist jedoch eine pro-Bucket-Einstellung, sodass Sie für verschiedene Ordner keine unterschiedlichen Regeln haben können.

Sie könnten Ihre Jekyll-Konfiguration ändern, um subpages/entry1/index.html von subpages/entry1.html zu generieren. Auf diese Weise funktionieren Ihre URLs weiterhin.

3

Sie müssen den Verweis reparieren, um Unterseiten/entry1.html an erster Stelle zu haben. Dann brauchen Sie kein Neuschreiben.

+0

Persönlich finde ich diese Lösung unterlegen, da es mich zwingt, alle Standardeinstellungen zu ändern und bestehende URLs zu brechen. Aber wenn es nicht anders geht ... –

+4

Inferior was genau? S3 unterstützt das Hinzufügen von .html-Erweiterungen zu beliebigen Pfaden nicht, sodass Sie diese URLs einfach nicht mit S3 verwenden können. Wenn Sie meinen, dass S3 Ihrer früheren Hosting-Lösung unterlegen ist, sollten Sie Ihre bisherige Hosting-Lösung auf jeden Fall weiter verwenden. –

+2

Minderwertig im Hinblick auf die Bereitstellung von URLs im Vergleich zu Apache, 'python -m SimpleHTTPServer 9000' oder' jekyll serve'. Ich habe erwartet, dass der kostenpflichtige Service für mein Projekt konfigurierbar ist und nicht umgekehrt. –

Verwandte Themen