在 Ubuntu 16.04 LTS 上的 var/www/html/ 中运行 Codeigniter 项目时找不到 404 页面?

rid*_*leh 2 php mysql lamp codeigniter ubuntu-16.04

我已经安装了 LAMP(Linux、Apache2、MySQL 和 PHP)堆栈。

我有一个名为“mahasiswa”的项目目录。当我在 Windows 8 上运行它时运行良好(使用 XAMPP)。然后,当我在我的 Ubuntu 16.04 LTS 上运行它时,它var/www/html/不再工作。

结果的屏幕截图:

错误消息的图像

在 Ubuntu 16.04 LTS 上运行 CodeIgniter 项目是否有特殊配置?

:: 任何帮助将不胜感激。谢谢你。


编辑

我的配置文件:

  1. etc/apache2/sites-available/000-default.conf

在此处输入图片说明

  1. etc/apache2/sites-available/mahasiswa.conf

在此处输入图片说明

  1. 等/主机

在此处输入图片说明

  1. mahasiswa/.htaccess

在此处输入图片说明

浏览器上的当前结果:

在此处输入图片说明

我不知道我在这个配置中缺少什么。我已经按照下面的@eeya 说明/答案进行了操作。任何机构都可以帮助我,请:D

Use*_*227 6

对于您在设置apache虚拟主机配置方面的问题:这是如何进行的。如果您有 [root] 权限,请打开您的 [终端] 并转到此目录:/etc/apache2/sites-available

然后创建一个新的虚拟主机配置,现在,我们将这个配置命名为您的项目名称。

sudo vim mahasiswa.conf 或者 sudo nano mahasiswa.conf

<VirtualHost *:80>
    ServerName local.mahasiswa.com 
    DocumentRoot /var/www/html/mahasiswa
    <Directory /var/www/html/mahasiswa/>
        AllowOverride All
        Require all granted
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

1)ServerName:作为DNS(可以将其视为除http://localhosthttp://127.0.0.1之外的另一个服务器名称)

2)DocumentRoot:从词本身来看,是你的[项目]的目录(例如/var/www/html/mahasiswa)

3) 目录:用于包含一组仅适用于指定目录、该目录的子目录以及相应目录中的文件的指令。在这种情况下,我们希望对目录进行控制访问权限:

AllowOverride All(这可以是全部或无)

要求所有授予

所有人都允许

您可以在此处了解更多信息:http : //httpd.apache.org/docs/current/mod/core.html#directory

回过头来,一旦你保存了这个新配置,去你的/etc/hosts(主机文件)(例如sudo vim /etc/hosts)并添加ff:

127.0.0.1 本地主机 local.mahasiswa.com

将这些更改保存到 [hosts] 文件后,执行以下命令:

sudo a2ensite mahasiswa.conf

sudo a2enmod rewrite

这现在将 [启用] 您的新站点配置并启用 [url rewrite] 模块。然后执行此之后:

sudo service apache2 reload

从命令本身来看,这意味着您需要重新加载 [apache2],因此配置会在之后生效。

然后尝试访问您的新域名:local.mahasiswa.com。您应该能够看到您CI需要的页面。

如需进一步参考,请在此处查看 [Digital Ocean] 指南:https : //www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04

希望这对您的情况有所帮助。

编辑: 在命名 [controller] 文件(例如 mahasiswa)时,您可能需要将 [UpperCase] 而不是 [lowercase] 格式设置为(例如 Mahasiswa)