如何为庞大的php项目编写app.yaml?

时间:2015-04-01 15:43:43

标签: google-app-engine google-cloud-platform app.yaml

我有一个准备好的php网站。对于该网站,我正在为谷歌应用引擎撰写app.yaml。 我读了这么多答案,但它对我没有帮助。 我在libraries文件夹中的各种子文件夹下面临php文件的问题。 在index.php中,我接受rss feed url并通过调用其他php文件来处理全文供稿。但是得到了这个错误。

/makefulltextfeed.php?url=https%3A%2F%2Fnews.google.co.in%2Fnews%3Fpz%max
=10&links=preserve&exc=&submit=Create+Feed was not found on this server.

如何为各种子文件夹下的所有php文件编写app.yaml? 我是否必须为所有个人php文件编写handlers:? 我被困在这里一整天。 我是这个话题的新手。所以,如果你发现这是一个愚蠢的问题,请原谅我。 这是我的app.yaml

application: xxxx-xxxx-90212
version: alpha-001
runtime: php
api_version: 1

handlers:
- url: /
  script: index.php

- url: /config
  script: config.php

- url: /makefulltextfeed
  script: makefulltextfeed.php

- url: /css
  static_dir: css

- url: /js
  static_dir: css



- url: /images
  static_dir: images

我在子文件夹中有php文件。如何为此编写app.yaml。

1 个答案:

答案 0 :(得分:3)

正如here所述,您可以使用此表示法将所有以.php结尾的根路径与php脚本匹配

# Serve php scripts.
- url: /(.+\.php)$
  script: \1

此配置假设您的每个URL都以.php结尾,您可以修改url正则表达式以捕获所有网址(我只测试正则表达式,但我认为它的工作原理:))

# Serve ALL php scripts.
- url: /((.+\/).*)$
  script: \1.php

或者您可以按照here所述模拟httpd mod_rewrite。