我觉得我不知道我在做什么。
我的 CodeIngiter 应用程序使用此 URL 在 WAMP 中运行良好:http://localhost/myapp
。
但是,当我将它移动到我的 AWS EC2 微型实例 Amazon Linux AMI/var/www/html/myapp
并尝试使用此 URL 访问我的应用程序时http://xxx-xxx-xxx-xxx-xxx.compute-1.amazonaws.com/myapp
,我得到的只是一个空白页面。
这是我尝试过的一切:
1.禁用“索引”显示
cd /etc/httpd/conf/
sudo nano httpd.conf
选项 -Indexes FollowSymLinks
2.在php.ini中开启错误报告
error_reporting = E_ALL | E_STRICT
display_errors = 开启
3.开发环境
在index.php
(我的应用程序的根目录)中,
define('ENVIRONMENT', 'development');
4.重启Apache
cd /etc/init.d
sudo httpd -k restart
5. 文档根目录
DocumentRoot "/var/www/html/"
也试过:
DocumentRoot "/var/www/html"
DocumentRoot "/var/www/html/myapp"
6. index.php的回声测试
index.php
我从我的(我的应用程序的根目录)以及我的控制器打印了一条测试消息。两者都有效。我不明白为什么我的视图没有显示。
<?php echo "test"; ...
//This worked.
7.替换 www/html/myapp
为 www/html/
我将应用程序的内容从“myapp”文件夹移到www/html
目录中。另外,DocumentRoot "/var/www/html/"
. 此外,我的.htaccess文件(在 myapp 的根目录中)是"RewriteBase /"
(见下面的第 8 点)。此外,我从
相同的空白页面中删除了.htaccess 。/var/www/html/
8..htaccess
以下.htaccess
文件位于我的 CodeIgniter 应用程序的根目录中。我也尝试更改
RewriteBase /myapp
为,RewriteBase /
但我仍然得到这个空白页,没有错误。
RewriteEngine On
# Put your installation directory here:
# If your URL is www.example.com/, use /
# If your URL is www.example.com/site_folder/, use /site_folder/
RewriteBase /myapp
# Do not enable rewriting for files or directories that exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# For reuests that are not actual files or directories,
# Rewrite to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]
我不知道该再试一次。