每次在gCloud应用程序引擎上调用任何PHP时,YAML都会呈现index.html



我正在学习如何将现有的PHP项目转移到gCloud。为此,我创建了一个AppEngine项目,并将代码放在那里。

除了PHP文件之外,一切似乎都正常工作。

当我启动我的项目时,索引文件会启动(如app.yaml中所指定的(,然后在PHP应该执行的地方,它会呈现index.html文件。这创建了一个致命的索引调用循环PHP调用索引调用PHP:(

我确信我的app.yaml错了,但我不知道问题出在哪里。

我的yaml看起来是这样的:

runtime: php55
api_version: 1
threadsafe: true
handlers:  
- url: /dialpad_research/(.*.(appcache|manifest))
  mime_type: text/cache-manifest
  static_files: dialpad_research/static/1
  upload: dialpad_research/static/(.*.(appcache|manifest))
- url: /dialpad_research/static
  static_dir: dialpad_research/static
# image files
- url: /dialpad_research/static/(.*.(bmp|gif|ico|jpeg|jpg|png))
  static_files: static/1
  upload: static/(.*.(bmp|gif|ico|jpeg|jpg|png))
# dialpad root
- url: /dialpad_research.*
  static_files: dialpad_research/static/index.html
  upload: dialpad_research/static/index.html
- url: /dialpad_research/api/(.+.php)$
  script: api/1

感谢您的帮助。

文件夹结构如下:

Root
|
---- app.yaml
---- dialpad_research (folder)
     |
     ---- static (folder with index file)
     ---- api (folder with PHP files)

您必须小心正则表达式的匹配。此url模式:

- url: /dialpad_research/static

将匹配:

- url: /dialpad_research/static(anything to follow)

因此,它永远不会到达下面的处理程序:

- url: /dialpad_research/static/(.*.(bmp|gif|ico|jpeg|jpg|png))

相同:

- url: /dialpad_research.*

在那之后,它永远无法到达:

- url: /dialpad_research/api/(.+.php)$

重新排列处理程序,使它们不会短路。

接下来,/api//static/不在根目录下,因此它们的路径不正确。见下文:

handlers:  
- url: /dialpad_research/(.*.(appcache|manifest))
  mime_type: text/cache-manifest
  static_files: dialpad_research/static/1
  upload: dialpad_research/static/(.*.(appcache|manifest))
# image files
- url: /dialpad_research/static/(.*.(bmp|gif|ico|jpeg|jpg|png))
  static_files: dialpad_research/static/1
  upload: dialpad_research/static/(.*.(bmp|gif|ico|jpeg|jpg|png))
- url: /dialpad_research/api/(.+.php)$
  script: dialpad_research/api/1
- url: /dialpad_research/static
  static_dir: dialpad_research/static
# dialpad root
- url: /dialpad_research.*
  static_files: dialpad_research/static/index.html
  upload: dialpad_research/static/index.html

最新更新