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

时间:2017-05-27 03:27:16

标签: php mysql codeigniter ubuntu-16.04 lamp

  

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

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

结果的截屏:

image of the error message

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

::任何帮助都会非常感激。谢谢。

修改

我的配置文件:

  1. 等/ apache2的/位点可用/ 000-default.conf
  2. enter image description here

    1. 等/ apache2的/位点可用/ mahasiswa.conf
    2. enter image description here

      1. 等/主机
      2. enter image description here

        1. mahasiswa / .htaccess
        2. enter image description here

          浏览器上的当前结果:

          enter image description here

          我不知道我在这个配置中到底发生了什么。我跟着下面的@eeya指令/答案。任何身体都可以帮助我,请:D

2 个答案:

答案 0 :(得分:4)

关于设置apache虚拟主机配置的问题:以下是它的运行方式。如果您具有[root]权限,请打开[终端]并转到此目录:/etc/apache2/sites-available

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

sudo vim mahasiswa.confsudo 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>

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

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

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

AllowOverride All(可以是All或None)

要求全部授予

全部允许

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

返回,保存此新配置后,转到/etc/hosts(主机文件)(例如sudo vim /etc/hosts)并添加ff:

127.0.0.1 localhost 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)

答案 1 :(得分:1)

启用 mod_rewrite

sudo a2enmod rewrite

sudo systemctl restart apache2