可以在app.yaml中为google appengine for php处理动态网址参数吗?

时间:2015-07-18 19:46:45

标签: php google-app-engine app.yaml

是否可以在谷歌应用引擎中使用app.yaml来将PHP转换为数据库驱动的页面,并将url参数(?=在网址中的php页面之后)转换为更易于阅读的形式?如果不是app.yaml还有另一种方式吗?

例如: www.testpage.com/shoes?id=red-shoes

转换为类似: www.testpage.com/shoes/red-shoes

1 个答案:

答案 0 :(得分:2)

据我所知,无法用app.yaml完成。原因是,如果你采取了类似你所描述的内容,例如:

handlers:
- url: /(.*?)/(.*)
  script: /\1?id=\2

App Engine会正确识别该图案/鞋子/红鞋并将其路由到/ shoes?id = red-shoes。除了将/ shoes?id = red-shoes视为文件名(显然不存在)而不是脚本+查询字符串。

所以,完成你想要做的事情的方法就是这样:

handlers:
- url: /(.*?)/(.*)
  script: /mydbhandler.php

模式/(。?)/(。)匹配/ shoes / red-shoes等模式,并将所有此类请求发送到/mydbhandler.php。在/mydbhandler.php里面你应该检查一下     $ _SERVER [" REQUEST_URI"] 这将是" / shoes / red-shoes"并在PHP代码中处理它。