App Engine dev_appserver работает, но appspot нет

Мой проект — базовый сайт php, с небольшим количеством php для включения заголовка / нижнего колонтитула.

Структура проекта

  1. app.yaml находится в корне с /www каталог в корне также
  2. внутри /www dir — это все файлы php и /www/assets каталог
  3. /www/assets содержит все статические файлы.

Файлы конфигурации

Файл app.yaml построен так:

runtime: php55
api_version: 1

handlers:
- url: /
script: www/index.php

- url: /about.php
script: www/about.php

- url: /(.*)
static_files: www/\1
upload: www/(.*)

Обеспокоенный это не совсем правильно.

Также мне нужны другие файлы конфигурации, такие как php.ini? или app.yaml будет достаточно?

проблема

Когда я запускаю проект локально, используя dev_appserver.py . это работает отлично.

Однако при развертывании проекта с использованием gcloud app deploy Я получил:

«http ошибка 404, эта страница не может быть найдена».

0

Решение

Вы, вероятно, не хотите соответствовать www сам в static_filesпотому что по умолчанию это означает .php файлы из этого места не будут рассматриваться как файлы приложения.

Вы должны настроить только /www/assets с static_files (последний, чтобы не соответствовать static_files шаблон URL) и придерживайтесь рекомендуемого .php обработчик из гугла пример:

- url: /
script: www/index.php

# Serve php scripts.
- url: /(.+\.php)$
script: www/\1

- url: /(.*)
static_files: www/assets/\1
upload: www/assets/(.*)

В качестве альтернативы вы может быть быть в состоянии просто использовать application_readable опция (первая строка в Элемент обработчиков Таблица):

application_readable

Необязательный. Boolean. По умолчанию файлы объявлены в статических обработчиках файлов
загружаются как статические данные и предоставляются только конечным пользователям. Oни
не может быть прочитано приложением. Если для этого поля установлено значение true,
файлы также загружаются в виде данных кода, чтобы ваше приложение могло читать
их. Обе загрузки оплачиваются по вашему коду и статическим данным.
место хранения квоты на ресурсы.

Как это:

- url: /
script: www/index.php

- url: /about.php
script: www/about.php

- url: /(.*)
static_files: www/\1
upload: www/(.*)
application_readable: true

Лично я нахожу 1-й подход чище.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]