我是Google App Engine的新手,app.yaml严重困扰了我,我无法弄清楚,我到处都看过,但似乎没有任何效果。这是我的.yaml,所有内容都可以在XAMPP上运行,但我似乎无法在App Engine上使它正常工作/起作用。
runtime: php55
api_version: 1
handlers:
- url: /(.*\.(ico$|jpg$|png$|gif$|htm$|html$|css$|js$|xml$))
static_files: \1
upload: (.*\.(ico$|jpg$|png$|gif$|htm$|html$|css$|js$|xml$))
application_readable: true
- url: /(.+)
script: \1
- url: /
script: index.php
索引中的包含项,例如<?php include "/static/include/header.php";?>
不会显示在我的页面上,并且该文件也包含我所有的样式/ css包含项等,以及如何简单地处理GET_[]
只是更改url,但页面不会对其进行处理。到目前为止,我已经将我的logo.png显示在索引上,但是到目前为止,我还无法弄清楚。
示例:.php?ID=99999999&group=All
我认为我需要对YAML做一些事情才能真正完成上述工作。
此页面无法正常运行。游戏目前无法处理 这个请求。 HTTP错误500
将上面的示例作为后缀后,便可以得到。
答案 0 :(得分:1)
您的app.yaml
中存在一些问题。将其视为将请求路由到正确目的地的正则表达式匹配过程。 $
放在末尾,而不是针对每个可能的匹配。
尝试一下:
# For better organization, let's put all your static files in a directory called "static", and include files in a directory called `includes`. A .php script is not a static file
- url: /(.*\.(ico|jpg|png|gif|htm|html|css|js|xml))$
static_files: static/\1
upload: static/.*\.(ico|jpg|png|gif|htm|html|css|js|xml)$
application_readable: true
如果将包含文件放在名为includes
的目录中,它将看起来像这样:
- url: /includes/(.+\.php)$
script: /includes/\1
接下来,我们不要将垃圾URL发送到脚本。让我们确保它与xxx.php
相匹配:
- url: /(.+\.php)$
script: \1