在 Ubuntu 16.04 LTS 上 运行 Codeigniter 项目内 var/www/html/ 时找不到 404 页面?
404 Page Not Found when run Codeigniter project inside var/www/html/ on Ubuntu 16.04 LTS?
I have installed LAMP (Linux, Apache2, MySQL, and PHP) stack.
我有一个名为 'mahasiswa' 的项目目录。当我 运行 它在 Windows 8 上运行良好(使用 XAMPP)。然后,当我 运行 它在我的 Ubuntu 16.04 LTS inside var/www/html/
上不再工作了。
结果的屏幕截图:
运行 Ubuntu 16.04 LTS 上的 CodeIgniter 项目是否有特殊配置?
:: 任何帮助将不胜感激。谢谢。
编辑
我的配置文件:
- etc/apache2/sites-available/000-default.conf
- etc/apache2/sites-available/mahasiswa.conf
- etc/hosts
- mahasiswa/.htaccess
浏览器当前结果:
我不知道我在这个配置中到底遗漏了什么。我已经按照下面的@eeya 说明/回答进行操作。任何人都可以帮助我,请 :D
关于您在设置 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>
1) ServerName:用作 DNS(将其视为 http://localhost or http://127.0.0.1 之外的另一个服务器名称)
2) DocumentRoot:从这个词本身来看,是您的[项目]的目录(例如/var/www/html/mahasiswa)
3) 目录:用于包含一组仅适用于指定目录、该目录的子目录以及相应目录中的文件的指令。在这种情况下,我们希望控制对目录的访问权限:
AllowOverride All(这可以是全部或 None)
要求全部授予
全部允许
您可以在此处了解更多信息: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 重写] 模块。然后执行此操作:
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)
启用mod_rewrite
sudo a2enmod rewrite
sudo systemctl restart apache2
I have installed LAMP (Linux, Apache2, MySQL, and PHP) stack.
我有一个名为 'mahasiswa' 的项目目录。当我 运行 它在 Windows 8 上运行良好(使用 XAMPP)。然后,当我 运行 它在我的 Ubuntu 16.04 LTS inside var/www/html/
上不再工作了。
结果的屏幕截图:
运行 Ubuntu 16.04 LTS 上的 CodeIgniter 项目是否有特殊配置?
:: 任何帮助将不胜感激。谢谢。
编辑
我的配置文件:
- etc/apache2/sites-available/000-default.conf
- etc/apache2/sites-available/mahasiswa.conf
- etc/hosts
- mahasiswa/.htaccess
浏览器当前结果:
我不知道我在这个配置中到底遗漏了什么。我已经按照下面的@eeya 说明/回答进行操作。任何人都可以帮助我,请 :D
关于您在设置 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>
1) ServerName:用作 DNS(将其视为 http://localhost or http://127.0.0.1 之外的另一个服务器名称)
2) DocumentRoot:从这个词本身来看,是您的[项目]的目录(例如/var/www/html/mahasiswa)
3) 目录:用于包含一组仅适用于指定目录、该目录的子目录以及相应目录中的文件的指令。在这种情况下,我们希望控制对目录的访问权限:
AllowOverride All(这可以是全部或 None)
要求全部授予
全部允许
您可以在此处了解更多信息: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 重写] 模块。然后执行此操作:
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)
启用mod_rewrite
sudo a2enmod rewrite
sudo systemctl restart apache2