我在运行时环境php 5.5上有一个运行谷歌应用引擎的网站。我正在尝试部署新版本的应用程序(我这样做是通过更改app.yaml中的版本号,在此处引用:Configuring with app.yaml)并部署应用程序。
我当前的网站可以通过www.my-app-name.appspot.com访问(工作正常),我应该能够在www.2-dot-my-app-name上查看我的新应用版本。 appspot.com,但是在尝试查看版本2时遇到404错误。
我的应用的版本1和版本2是相同的,唯一的区别是版本2在app.yaml中的版本为“2”。我在这里错过了一步吗?在配置查看版本2时,我需要做些什么吗? (注意:我不想让版本2直播,我只是想部署它并测试它以查看某些更改是否有效,然后才能生效。)
修改:我尝试过测试,看看我的应用版本2的所有流量的路由选择。在这种情况下,应用程序的版本2可以正常工作,但版本1不能。看起来当所有流量都路由到特定版本时,该版本将使用URL“myappname.appspot.com”提供。使用url“version-dot-myappname.appspot.com”提供任何其他版本。任何人都知道如何配置我的应用程序,以便这些网址有效吗?
答案 0 :(得分:1)
根据Routing via URL文档,新应用版本的地址应为2-dot-my-app-name.appspot.com
,不含前导www.
:
https://version-dot-app-id.appspot.com http://version.app-id.my-custom-domain.com Sends the request to an available instance of the given version of the default module.
答案 1 :(得分:1)
我发现了罪魁祸首。我有一个PHP配置文件,将标头位置更改为'http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
。虽然这种类型的配置适用于您的默认应用程序,但在测试新版本时它不起作用,因为在测试新版本时,路由不能包含前导“www”。希望这可以帮助遇到同样问题的其他人。
注意:如果您使用流量分割,只要您的自定义域映射正确,用户访问您的新版本就不会有任何问题。