谷歌云应用引擎 - 如何创建子域并将访问权限重定向到另一个文件/文件夹


Google Cloud App Engine - How to create subdomains and redirect access to another file/folder?

我在Google Cloud

的App Engine上创建了一个PHP5.5模块,在Google Cloud SQL上创建了一个SQL模块。

这是我的PHP app.yaml:

application: myapp
version: 1
runtime: php55
api_version: 1
handlers:
- url: /.*
  script: index.php

我真的是谷歌云的新手,所以我需要以某种方式创建一个子域,例如subdomain.myapp.com,当我的用户尝试访问http://subdomain.myapp.com而不是http://myapp.com时,我希望服务器"给他们"/subdomain/index.php文件而不是/index.php文件。

在开发者控制台中将myapp.com域和subdomain.myapp.com域添加到您的应用中,请参阅此问答:Google Cloud DNS:将裸域指向 www?

向应用添加 subdomain 模块,该模块将提供子域特定的文件。

添加一个dispatch.yaml文件以将基于域的请求分派到各自的模块,请参阅此问答:AppEngine 子域到没有通配符映射的模块

注意:如果您使用 SSL 和具有跨域导航的会话,则需要通配符证书,否则会遇到 SSL 错误。

如果您容忍 url 中的不同路径,您可能能够摆脱单个模块(较低的实例正常运行时间使用/成本),就像http://subdomain.myapp.com/subdomain/index.php一样 - 在您的/index.php中,您需要解析请求的 url 中的域,如果它是一个subdomain,则将其重定向到不同的路径。在这种情况下不需要调度文件。恕我直言,不像其他解决方案那样干净。