使用弹性beanstalk在amazon Web服务上载codeigniter项目

时间:2017-07-16 14:51:44

标签: php codeigniter amazon-web-services elastic-beanstalk

我在AWS上搜索过托管codeigniter应用,但我找不到任何解决方案。 所以我尝试使用弹性beanstalk在AWS上传它。 但我收到错误404: - 当我尝试访问时,您请求的页面没有找到。

Elastic beanstalk配置: - 运行PHP 7.0的64位Amazon Linux 2017.03 v2.4.1

软件配置下的文档根目录: - / cieg(我的codeigniter应用程序的名称是cieg)

这是我的config.php

$config['base_url'] = 'http://ciegforum-env.p5fjm8jgtw.ap-south-1.elasticbeanstalk.com/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

这是我的routes.php

$route['default_controller'] = 'dashboardC';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

这是我的.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

我尝试过的事情正在追随;

将base_url更改为空白,删除末尾的斜杠,最后添加应用名称(即http://ciegxxxxx.com/cieg

将uri_protocol更改为auto,

删除.htaccess并尝试通过index.php正常访问

我是第一次在服务器上部署应用程序,这个应用程序在localhost上运行正常。

抱歉我的英文

2 个答案:

答案 0 :(得分:0)

最后,我找到了解决这个问题的方法。唯一的错误是控制器的名字以小写字母开头。在AWS上,规则是严格的。您应该仅以大写字母命名每个控制器。

$route['default_controller'] = 'dashboardC';

上述陈述给出了问题。它应该是这样的

$route['default_controller'] = 'DashboardC';

您也应该通过首字母大写来重命名所有控制器的文件。

答案 1 :(得分:0)

我有同样的问题。我的问题是,在部署zip时有不必要的文件,因此在删除了index.php应用程序和系统之外的所有文件和文件夹之后。然后再次压缩它们并上传。现在正在工作。 B