Ошибка 404 для страниц подкаталогов

Ошибка 404 для страниц подкаталогов

Я развернул свой сайт на Google App Engine, который работает нормально, пока я не попытаюсь открыть подкаталог сайта. Например, открытие example.com/dir выдаст ошибку 404, даже если у меня загружен/развернут каталог. Мой app.yaml выглядит следующим образом:

runtime: php72


handlers:
- url: /
static_files: public/index.html
upload: public/index.html

- url: /
static_dir: public


# Serve images as static resources.
- url: /(.+\.(gif|png|jpg))$
static_files: \1
upload: .+\.(gif|png|jpg)$
application_readable: true

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

Дайте мне знать, если вам понадобятся какие-либо дополнительные подробности.

решение1

Я не знаю, была ли это ошибка копирования-вставки при добавлении кода в serverfault, но отступ в вашем YAML неверный, что может вызывать эту ошибку. Должно быть:

runtime: php72


handlers:
- url: /
  static_files: public/index.html
  upload: public/index.html

- url: /
  static_dir: public


# Serve images as static resources.
- url: /(.+\.(gif|png|jpg))$
  static_files: \1
  upload: .+\.(gif|png|jpg)$
  application_readable: true

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

решение2

Единственным допустимым значением параметра "script" в среде выполнения PHPv7.2 для стандартной среды App Engine является "auto", как описано здесь [1]. Предлагается использовать веб-фреймворк (такой как Laravel, Symfony или аналогичный) с маршрутизацией внутри приложения для выполнения скрипта, когда запрос попадает на определенный маршрут.

[1]https://cloud.google.com/appengine/docs/standard/php7/php-differences#migrating_your_appyaml_file

Помните, что если вы используете PHP 7.2 и стандартную среду App Engine, эта среда выполнения находится в стадии бета-тестирования, и эта функция может быть изменена способами, несовместимыми с предыдущей версией, и не подпадает под действие какого-либо соглашения об уровне обслуживания или политики устаревания.

Пожалуйста, попробуйте это и сообщите мне о результатах.

[1]https://cloud.google.com/appengine/docs/standard/php7/config/appref

Связанный контент