找不到404 - 在ubuntu上使用apache2的网站

时间:2014-07-29 01:50:05

标签: php html apache ubuntu virtualhost

背景:

我已经安装了apache2并尝试设置虚拟目录......但是当我尝试测试不同的网站时,我不断收到404错误消息。

我一直关注的文章/教程位于: https://www.digitalocean.com/community/tutorials/how-to-configure-the-apache-web-server-on-an-ubuntu-or-debian-vps

我有以下文件夹结构:

/var/www/webtest.com/test.html
/var/www/ttimes.com/test.php

在/ etc / apache2 / sites-available文件夹中,我有以下配置文件:

jmj@cp-AOA150:/etc/apache2/sites-available$ ls -lah /var/www/
total 44K
drwxr-xr-x  9 root root 4.0K Jul 28 21:37 .
drwxr-xr-x 15 root root 4.0K Jul 28 19:54 ..
drwxr-xr-x  2 root root 4.0K May 11  2013 current
drwxr-xr-x  2 root root 4.0K Apr  3 08:21 html
-rwxr-xr-x  1 root root  177 Nov 23  2013 index.html
-rwxr-xr-x  1 root root  124 Jul 28 20:14 test.php
drwxr-xr-x  5 jmj root 4.0K Jun  6 11:58 ttimes.com
drwxr-xr-x  2 jmj root 4.0K Jul 28 21:21 webtest.com

这是webtest.com.conf文件的样子:

<VirtualHost *:80>
        ServerAdmin admin@webtest.com
        ServerName webtest.com
        ServerAlias www.webtest.com
        DocumentRoot /var/www/webtest.com
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这是我的主机文件的样子:

127.0.0.1       localhost
127.0.1.1       cp-AOA150

这只是在本地开发框中,我希望在/ var / www下有多个站点。一旦网站开发完成,我就会将它们移到我的托管公司。 我目前还没有其他IP地址可供添加,因此我跳过了添加VPS服务器IP的步骤。

我能够成功运行

  

sudo a2ensite webtest.com.conf

命令,我重新启动apache。

但是当我通过输入http://localhost/webtest.com/test.html进入我的网站时,我收到了404未找到的错误。

到目前为止我尝试过的事情: - 我已经审阅了这篇文章,以确保我没有错过任何步骤。 - 证明apache本身正在工作,转到http://localhost.当我这样做时,我得到一个页面:

Index of /
[ICO]   Name    Last modified   Size    Description
Apache/2.4.7 (Ubuntu) Server at localhost Port 80

然后我停止apache服务并尝试相同的URL。它失败。

2 个答案:

答案 0 :(得分:2)

您可能需要编辑/etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

并将其更改为;

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

然后

sudo service apache2 restart

您可能还需要执行sudo a2enmod rewrite才能启用模块重写。”

答案 1 :(得分:0)

您将其设置为指向webtest.com的虚拟主机,但您尝试通过localhost /访问它。使用VirtualHost,它并不存在于该路径中。

最简单的方法是编辑/ etc / hosts文件,为webtest.com创建本地DNS条目。像这样在该文件中添加一行:

127.0.0.1     webtest.com

然后将您的浏览器指向webtest.com,您应该会看到您的网站。