404-Fehler in der Google App Engine mit PHP Yii2-Framework

404-Fehler in der Google App Engine mit PHP Yii2-Framework

Meine Anwendung enthält das Angular- und PHP-Yii2-Framework.

Ich habe meine Anwendung auf der App Engine der Google Cloud-Plattform gehostet.

Hier ist der Screenshot meines Codes und des Dateicodes app.yaml.

threadsafe: true
runtime: php55
api_version: 2

handlers:

# The root URL (/) is handled by the Go application.
# No other URLs match this pattern.

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

- url: /web-service/*
  script: web-service/yii

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

Bildbeschreibung hier eingeben

Meine Yii2-Bibliothek ist im Webdienstverzeichnis verfügbar. Wenn ich die Rest-API vom Postboten aus aufrufe, wird die Fehlermeldung „404: Seite nicht gefunden“ zurückgegeben.

was fehlt mir in der app.yamlDatei?

Helfen Sie mir, dieses Problem zu lösen.

Mein API heißt ungefähr so.

https://abcxyz.appspot.com/web-service/web/user-registration/login-user

Antwort1

Die Reihenfolge Ihrer URL-Handler ist nicht korrekt.

GAE führt dies von oben nach unten aus. Ihr erster Handler wird alles abgleichen. Er wird die anderen beiden nie erreichen.

Sie müssen die Reihenfolge in Ihrer app.yaml ändern:

threadsafe: true
runtime: php55
api_version: 2

handlers:

# The root URL (/) is handled by the Go application.
# No other URLs match this pattern.

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

- url: /web-service/*
  script: web-service/yii

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

Es wird empfohlen, immer das Breiteste unten und das Strengste oben zu haben.

Weitere Informationen finden Sie im entsprechenden Abschnitt in der GAE app.yaml-Dokumentation.

verwandte Informationen