【发布时间】:2018-02-12 09:36:24
【问题描述】:
我已经通过 LAMP 堆栈设置了 CI 项目,我遇到的问题与这个人完全相同 CodeIgniter routing in Google App Engine
我浏览了帖子,但没有找到解决方案。好的,我将进一步详细说明。 我在 gcloud 应用引擎中设置了 CI 3.0。
app.yaml
runtime: php55
api_version: 1
handlers:
- url: /libs/build/css/*
static_dir: libs/build/css/
- url: /libs/build/js/*
static_dir: libs/build/js/
- url: /libs/build/images/*
static_dir: libs/build/images/
- url: /test
script: gcloudTest.php
- url: /.*
script: index.php
routes.php
$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['login'] = 'api/member/test';
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|files|libs|theme|start-file|\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
好的,我可以在不指定路由条件的情况下访问我的所有控制器,就像我对 $route['login'] = 'api/member/test' 所做的那样,因为它在我的本地主机上工作。
所以当我部署到 gcloud 时,我尝试调用:
- mysite.com/login => 404 页面未找到
- mysite.com/test => 工作
- mysite.com/testtest => 404 页面未找到
/login 和 /testtest 是一个有效的 CI 控制器,而 /test 不是一个控制器,因为它只是为了测试目的而将我引导到另一个页面。 那么如何正确设置 CI 控制器和路由以与谷歌云一起使用?
【问题讨论】:
标签: php google-app-engine google-cloud-platform codeigniter-3 lamp