2016-04-12 11 views
0

Gibt es eine Möglichkeit, nur vorhandene Dateien in einem statischen Verzeichnis bereitzustellen? Zum Beispiel in meiner app.yaml Datei habe ichGoogle App Engine: Nur vorhandene Dateien im statischen Verzeichnis bereitstellen

- url: /img 
    static_dir: img 

Welche funktioniert gut, wenn Sie /img/exists.jpg gehen. Wenn Sie jedoch zu /img/doesnt-exist.jpg gehen, erhalten Sie eine hässliche Fehler: Nicht gefunden Nachricht. Gibt es eine Möglichkeit, diese Datei zu überspringen und zu diesem Skript zu gehen, damit ich eine benutzerdefinierte 404-Nachricht hinzufügen kann?

- url: /.* 
    script: index.php 
+0

Obwohl das, was Sie fragen, in 'app.yaml' nicht machbar ist, aber da Sie ein Beispiel für Bilder geben, möchten Sie vielleicht einen Blick auf das 'onerror'-Ereignis werfen, das' '-Tag auslöst, wenn es passiert lädt ein Bild nicht, sodass Sie ein anderes laden können. Dies ist nicht GAE-bezogen und funktioniert nur auf dem clientseitigen Browser. Sehen Sie mehr: http://www.w3schools.com/jsref/event_onerror.asp –

Antwort

0

Nach der aktuellen Dokumentation, können Sie configure a custom error response.

+0

Ja, ich sah das, leider nicht ganz das, was ich suche, da Sie nur eine statische HTML-Seite bedienen können. Auch nicht sicher ob es überhaupt 404 Nachrichten unterstützt? Es besagt, dass es nur over_quota, dos_api_denial und timeout unterstützt. – joshhunt

+0

Ich verstehe, dass dies nicht wollen Sie wollen, aber das ist die offizielle Dokumentation :(Die einzige andere Option, die Sie haben, ist nicht diese Dateien als statisch zu behandeln, aber ein Skript, das Anforderungen für diese Dateien verarbeitet. Dies ist ein schwerer Rückschlag in puncto Leistung und User Experience allerdings würde ich es nur empfehlen, wenn es absolut notwendig ist. " –

+0

Leider habe ich Teile der offiziellen Dokumentation als recht dürftig empfunden und es fehlen oft Informationen, daher die Frage. Ich werde das hier lassen ein wenig auf, nur für den Fall, dass jemand andere Einsichten hat und ich überprüfe, ob es für 404s funktioniert und dann werde ich es als akzeptiert markieren. Danke für deine Hilfe. – joshhunt