Google App Engine: изображения/CSS приложения PHP не найдены

Я создаю свое первое приложение с помощью Google App Engine и сразу столкнулся с проблемой: мои изображения и css не загружаются с ошибкой: Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найдено). Я сделал все, что мог, чтобы попытаться справиться с этим, и теперь я в тупике. Вот мой код:

PHP:

<?php
    echo "<html><header><link rel='stylesheet' type='text/css' href='/stylesheets/style.css'></header>
    <body>
        <div class=header><img src='/images/logo.png'>
        </div><div class=main>hello</div>
    </body></html>";
?>

приложение.yaml:

application: phpunionapp
version: 1
runtime: php
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /images
  static_dir: static/images

- url: .*
  script: main.php

- url: /stylesheets
  static_dir: stylesheets

Структура каталога:

phpunionapp\images\logo.png
phpunionapp\stylesheets\style.css

И журнал:

2013-10-13 16:53:01 Running command: "[u'C:\\Python27\\pythonw.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=10080', '--admin_port=8002', u'C:\\Users\\User\\Documents\\Web Development\\Tests\\phpunionapp']"
INFO     2013-10-13 16:53:03,480 devappserver2.py:660] Skipping SDK update check.
INFO     2013-10-13 16:53:03,520 api_server.py:138] Starting API server at: http://localhost:54192
INFO     2013-10-13 16:53:03,523 dispatcher.py:168] Starting module "default" running at: http://localhost:10080
INFO     2013-10-13 16:53:03,526 admin_server.py:117] Starting admin server at: http://localhost:8002
INFO     2013-10-13 16:53:11,661 module.py:599] default: "GET / HTTP/1.1" 200 191
INFO     2013-10-13 16:53:11,713 module.py:599] default: "GET /images/logo.png HTTP/1.1" 404 -
INFO     2013-10-13 16:53:11,844 module.py:599] default: "GET /stylesheets/style.css HTTP/1.1" 200 191

404 в браузере:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:10080/images/logo.png

Честно говоря, я не уверен, почему приложение не может найти изображения, любая помощь будет очень признательна! Заранее спасибо.


person Gargleyark    schedule 13.10.2013    source источник
comment
Опубликуйте строки из журнала сервера, которые показывают 404. Обычно там есть интересные доказательства. И какую версию SDK вы используете?   -  person Dave W. Smith    schedule 13.10.2013
comment
Я отредактировал его, чтобы включить это, и вы правы, кажется, там есть что-то интересное. Я использую версию 1.8.5   -  person Gargleyark    schedule 13.10.2013
comment
Где 404 в журнале? Вы можете опубликовать это?   -  person Dave W. Smith    schedule 13.10.2013
comment
Я установил модуль PIL для python 2.7 (то, что я использую) с pythonware.com/products. /пил. Предупреждение исчезло, но изображения по-прежнему нет.   -  person Gargleyark    schedule 13.10.2013
comment
PIL здесь не задействован; это предупреждение не связано с тем, как обслуживаются файлы статических изображений.   -  person Dave W. Smith    schedule 13.10.2013
comment
Я обновил журнал и добавил ошибку браузера 404 теперь, когда модуль PIL установлен.   -  person Gargleyark    schedule 13.10.2013
comment
У меня сработало следующее [решение] [1] [1]: stackoverflow.com/a/31591467/1665739   -  person smoothBlue    schedule 23.07.2015


Ответы (1)


В app.yaml измените static_dir: static/images на static_dir: images.

Я попал туда, заметив в журналах, что таблица стилей обслуживается, а изображение нет. Это привело к разнице в app.yaml, которую я пропустил при первом взгляде.

person Dave W. Smith    schedule 13.10.2013