【问题标题】:Error 404 after changing DocumentRoot更改 DocumentRoot 后出现错误 404
【发布时间】:2013-08-11 10:28:33
【问题描述】:

我刚刚安装了一个 Ubuntu 服务器,并将我的文件从另一台服务器传输到这台服务器。
我已将文件复制到:

/var/www/目录

当我转到资源管理器并输入 IPADDRESS/DIRECTORY 时,页面加载完美。

当然,我不希望人们通过目录访问我的网站,因此我尝试更改服务器的 DocumentRoot。于是我去了

/etc/apache2/sites-available/默认

并在de /var/www后面添加目录

DocumentRoot /var/www/DIRECTORY

     <Directory /var/www/DIRECTORY>  
           Options Indexes FollowSymlinks Multiviews  
           AllowOverride None  
           Order allow, deny  
           allow from all  
      </Directory> 

之后,重启apache

sudo /etc/init.d/apache2 重启

现在,当我进入资源管理器时,我输入 IPADDRESS

它会自动将我重定向到 IPADDRESS/DIRECTORY

然后给我一个 404 错误

Not Found
The requested URL /DIRECTORY/ was not found on this server.
Apache/2.2.14 (Ubuntu) Server at I.P.ADD. Port 80

有谁知道可能是什么问题?

【问题讨论】:

    标签: ubuntu apache2 ubuntu-10.04


    【解决方案1】:

    你的 apache 的根目录是 /var/www

    所以以前您的重定向工作是重定向到 http://YOUR.ADDRESS.COM/DIRECTORY 找到 /var/www/DIRECTORY - 在 DocumentRoot 下

    现在您已将 DocumentRoot 重新定义为 /var/www/DIRECTORY,重定向正在尝试查找 /var/www/DIRECTORY/DIRECTORY

    我不太明白你的意思

    当然,我不希望人们通过目录访问我的 网站,所以我尝试更改服务器的 DocumentRoot。

    但是 404 的原因是改变 DocumentRoot

    【讨论】:

    • 没错。问题是重定向试图找到/var/www/DIRECTORY/DIRECTORY。我不想生成重定向.. 我想访问 MY.ADDRESS.COM 并查看目录 /var/www/DIRECTORY
    • 好的,所以改变重定向,使它不包括目录。正常的 DNS 和 Web 浏览器行为是,如果没有指定文件,它会加载 /。您的 DNS(或其他一些系统组件)必须添加 DIRECTORY 元素
    【解决方案2】:

    我认为问题出在指令中 - Multiviews 和 AllowOverride none ? 它除了从你的项目中加载 .htaccess

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

    apache2重新加载后,转到http://IPADDRESS/

    【讨论】:

      猜你喜欢
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多