我刚刚将我的CodeIgniter PHP AppEngine项目部署到云中,当我尝试访问我的一个URL时,它会导致重定向循环。我尝试使用不同的浏览器和隐身模式,但它们仍然会导致相同的问题。
我在我的app.yaml中设置了一个URL,它确实有效。
- url: /tos
script: tos.php
所以/tos 就可以工作了。
但是对于我的常规 CodeIngiter 索引.php程序,它会导致重定向循环,并且随着地址栏中的一些长 URL 而失败。以下是相关的app.yaml:
- url: .*
script: index.php
http://even-crossing-385.appspot.com/base/data/home/apps/s~even-crossing-385/1.371577713118072254/login
在我的本地开发盒上运行良好。
我在这里缺少某种配置吗?
谢谢!
我有同样的问题,在带有 WAMP 的本地计算机中它工作正常,但使用 google 应用程序引擎它只显示默认控制器,我认为问题是文件 app.yaml 但我无法很好地设置重定向规则
我无法让它工作,但我最终找到了 CodeIgniter 的这个黑客,它在本地和 AppEngine 上都有效。所以我使用它并在那里复制了我的控制器、模型和视图,然后一切都找到了。我的猜测是,有某种底层环境变量在投入生产时不起作用。
- url: /
script: ci-googleappengine-test/index.php
- url: /(.+)
script: ci-googleappengine-test/index.php
它会工作,为我工作。 ci-googleappengine-test = 文件夹名称
我有相反的效果。 它无法在本地使用 App Engine SDK,但当我将其部署到 GAE 时,它运行良好。 此线程中描述的"CodeIgniter 黑客"对我不起作用。我终于通过修改应用程序/配置/配置中的 config.php 文件来让它工作.php
我注释掉了base_url、index_page和uri_protocol的现有配置设置,并将其替换为以下内容:
if(isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false)
{
//Production settings go here
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
}
else
{
//Local Development settings go here (change "13080" to whatever number the localhost SDK generates for you )
$config['base_url'] = 'http://localhost:13080/';
$config['index_page'] = 'index.php';
$config['uri_protocol'] = 'PATH_INFO';
}
老实说,我不知道为什么这有效,但它确实如此。