Мой проект — базовый сайт php, с небольшим количеством php для включения заголовка / нижнего колонтитула.
Структура проекта
app.yaml
находится в корне с /www
каталог в корне также/www
dir — это все файлы php и /www/assets
каталог/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, эта страница не может быть найдена».
Вы, вероятно, не хотите соответствовать 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-й подход чище.
Других решений пока нет …