Erro 404 para páginas de subdiretório

Erro 404 para páginas de subdiretório

Implantei meu site no Google App Engine, que funciona bem, a menos que eu tente abrir um subdiretório do site. Por exemplo, abrir example.com/dir causará um erro 404, mesmo se eu tiver o diretório carregado/implantado. Meu app.yaml é o seguinte:

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

Deixe-me saber se você precisar de qualquer outro detalhe sobre isso.

Responder1

Não sei se foi um erro de copiar e colar ao adicionar código ao serverfault, mas o recuo em seu YAML não está correto, o que pode causar esse erro. Deveria ser:

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

Responder2

O único valor aceito para o parâmetro "script" no tempo de execução do PHPv7.2 para o ambiente padrão do App Engine é "auto", conforme descrito aqui [1]. Sugere-se usar um framework web (como Laravel, Symfony ou similar) com roteamento no aplicativo para executar um script quando uma solicitação atinge uma rota específica.

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

Lembre-se de que se você estiver usando o PHP 7.2 e o ambiente padrão do App Engine, esse tempo de execução está na versão Beta e esse recurso pode ser alterado de maneiras incompatíveis com versões anteriores e não está sujeito a nenhum SLA ou política de suspensão de uso.

Por favor, tente isso e me conte os resultados.

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

informação relacionada