我尝试使用GAE创建php web应用程序。
在GAE教程中,“脚本处理程序执行PHP脚本来处理与URL模式匹配的请求。映射定义了要匹配的URL模式,以及要执行的脚本”
现在我想将网址映射到文件夹中具有相同名称的文件,例如如果url是/hello.*,它将在文件夹中映射文件名hello.php。如果是/hello1.*,文件夹中的hello1.php将响应服务器。
我认为这应该通过将url的名称映射到文件夹中的名称来直接完成。但是如果我在app.yaml中为处理程序留空,我就会收到错误。
所以我想知道如何在app.yaml中设置处理程序?
答案 0 :(得分:1)
使用数字字符类提取数字,使用?要匹配0次或更多次,请使用。*匹配网址的其余部分。
- url: /hello(\d?).*
script: hello\1.php
当然,如果您只想将传入的URL与同名文件匹配,可以使用
- url: /(.*)\.php$
script: (\1).php
如果您不希望他们将.php指定为URL的末尾,那么它就是
- url : /(.*)
script: (\1).php
答案 1 :(得分:0)
https://developers.google.com/appengine/docs/php/config/appconfig#PHP_app_yaml_Script_handlers
handlers:
- url: /hello([0-9]*).(.*)
script: /hello\1.php
我认为你会做类似的事情。 RegEx不正确的可能性很大,但你明白了。