我在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上运行正常。
抱歉我的英文
答案 0 :(得分:0)
最后,我找到了解决这个问题的方法。唯一的错误是控制器的名字以小写字母开头。在AWS上,规则是严格的。您应该仅以大写字母命名每个控制器。
$route['default_controller'] = 'dashboardC';
上述陈述给出了问题。它应该是这样的
$route['default_controller'] = 'DashboardC';
您也应该通过首字母大写来重命名所有控制器的文件。
答案 1 :(得分:0)
我有同样的问题。我的问题是,在部署zip时有不必要的文件,因此在删除了index.php应用程序和系统之外的所有文件和文件夹之后。然后再次压缩它们并上传。现在正在工作。 B