2016-04-12 2 views
0

Есть ли способ обслуживать только существующие файлы в статическом каталоге? Например, в моем app.yaml файле у меня естьGoogle App Engine: обслуживать только существующие файлы в статическом каталоге

- url: /img 
    static_dir: img 

, который работает хорошо, если вы идете в /img/exists.jpg. Однако если вы идете на /img/doesnt-exist.jpg, вы получите уродливый Ошибка: не найден сообщение. Есть ли способ пропустить этот файл и перейти к этому скрипту, чтобы я мог добавить пользовательское сообщение 404?

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

Хотя то, что вы просите, не выполняется в 'app.yaml', но поскольку вы даете пример изображений, которые вы можете посмотреть на событие' onerror', тег '' срабатывает, когда он не удается загрузить изображение, чтобы вы могли загрузить другой. Это не связано с GAE и работает только в браузере на стороне клиента. См. Больше: http://www.w3schools.com/jsref/event_onerror.asp –

ответ

0

Согласно текущей документации, вы можете configure a custom error response.

+0

Да, я видел это, к сожалению, не совсем то, что я ищу, поскольку он позволяет вам обслуживать статическую html-страницу. Также не уверен, поддерживает ли он даже 404 сообщения? Он говорит, что он поддерживает только over_quota, dos_api_denial и таймаут. – joshhunt

+0

Я понимаю, что это не то, чего вы хотите, но это официальная документация :(Единственный другой вариант, который у вас есть, - это не рассматривать эти файлы как статические, а иметь сценарий, обрабатывающий запросы на эти файлы. Это серьезная неудача с точки зрения производительности и пользовательского опыта, поэтому я бы рекомендовал использовать его только тогда, когда это абсолютно необходимо. –

+0

К сожалению, я нашел части официальной документации довольно бедной и часто пропускает информацию, следовательно, вопрос. немного на всякий случай, если кто-то еще имеет какие-либо идеи, и я дважды проверю, что он работает на 404, а затем я помету его как принятое. Спасибо за вашу помощь. – joshhunt

Смежные вопросы