是否可以将app.yaml配置为使用两个不同的PHP脚本,一个处理裸域而另一个处理所有其他子域?
runtime: php55
api_version: 1
handlers:
- url: /.*
script: naked.php
- url: /.*.mydomain.com
script: sub-domains.php
我现在正在阅读模块 - 这会解决我的问题吗?
编辑|这个链接让我相信我可以通过使用服务和自定义调度配置来实现我的目标吗?
https://cloud.google.com/appengine/docs/python/config/dispatchref
答案 0 :(得分:1)
不可能使用app.yaml
模式路由,因为模式仅应用于请求的URL的文件路径部分(没有域名)。
是的,可以将模块映射到不同的域,并使用基于dispatch.yaml
文件的路由,这些文件在某些方面看起来如下:
dispatch:
- url: "mydomain.com/*"
module: naked_domain_module
- url: "*mydomain.com/*"
module: subdomain_module
注意:
dispatch.yaml
事项中的规则顺序 - 首次匹配胜利- url: "*/naked/*"
module: naked_domain_module
但在这种情况下,您还需要在naked_domain_module
的{{1}}路由中考虑添加的路径模式,并在生产中部署时将其还原。如果您将此路径模式保留在生产中,那么您不需要所有这些模块故事,因为您可以直接在app.yaml
上锁定它。
澄清:只是使用调度文件的自动路由不能与本地devserver一起工作,模块工作正常,除非你需要向相应的模块"域" (实际上是不同的端口)你自己。这是devserver在这种情况下的行为示例,显示了每个模块的基本URL:
app.yaml
答案 1 :(得分:0)
您正在寻找App Engine调度: https://cloud.google.com/appengine/docs/php/how-requests-are-routed
dispatch.yaml的详细信息如下: https://cloud.google.com/appengine/docs/php/config/dispatchref
希望这有帮助!