我在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
,则将其重定向到不同的路径。在这种情况下不需要调度文件。恕我直言,不像其他解决方案那样干净。