Google App Engine - How to set up app.yaml for requests like: index.php/foo/bar?

208 Views Asked by At

Hi I'm trying to get EasyAppointments to run on Google App Engine. (php-based appointment scheduling - dont ask me why please..kinda "forced" to do it..)

I got the Installation Screen showing but there is a problem with my app.yaml:

When trying to run the installation there is a request for "index.php/appointments/ajaxInstall" but it justs returns a 404. There must be an error but I cant seem to find it... (haven't used gae much yet.. so I'm not so familiar with the configuration of the app.yaml yet)

I hope someone can give me a hint.

Heres my app.yaml (Note: all data is located in the directory "terminbuchung"):

application: xyz
version: terminbuchung
runtime: php
api_version: 1

handlers:
- url: /(.*\.(ico$|jpg$|png$|gif$))
  static_files: terminbuchung/\1
  upload: terminbuchung/(.*\.(ico$|jpg$|png$|gif$))
  application_readable: true

- url: /(.*\.(htm$|html$|css$|js$))
  static_files: terminbuchung/\1
  upload: terminbuchung/(.*\.(htm$|html$|css$|js$))
  application_readable: true
  
- url: /
  script: terminbuchung/index.php

- url: /index\.php/(.*)
  script: terminbuchung/index.php/\1
  
- url: /(.+\.php)(.*)$
  script: terminbuchung/\1

1

There are 1 best solutions below

1
techWiz On

I found out what was goin wrong - you must not pass the "\1" to the index.php - (this will be handled by the REQUEST_URI), because otherwise the app engine will look for a script called like that which does not exist obv...

So the "\1" is only good for matching to real files. I assumed it was working like a htaccess where you could do stuff like that.

Lesson learned =)