尝试访问本地 LAMP 服务器上的 localhost 时出现 404 Not Found 错误
Posted
技术标签:
【中文标题】尝试访问本地 LAMP 服务器上的 localhost 时出现 404 Not Found 错误【英文标题】:404 Not Found Error when trying to access localhost on local LAMP server 【发布时间】:2011-05-02 21:09:41 【问题描述】:我正在运行 Ubuntu。我的 Apache2 默认文件如下所示:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog $APACHE_LOG_DIR/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog $APACHE_LOG_DIR/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
我在 /var/www/ 中有一个名为 Index.php 的文件
<?
phpinfo();
?>
当我在浏览器中访问 http://localhost/ 时,我收到 404 Not Found 错误:
在此服务器上找不到请求的 URL /。 Apache/2.2.16 (Ubuntu) 服务器在 localhost 端口 80
我做错了什么?这在我第一次设置 LAMP 时确实有效,但现在无法正常工作。
【问题讨论】:
@Codemwnci 没有冒犯,但是如果 Apache 没有运行,他怎么能从 Apache 那里得到错误消息呢? 你确定没有2个apache同时运行吗?它可能会导致类似的问题。 我从来没有做过任何表明两个 Apache 同时运行的事情。就像我说的,当我第一次设置它时,它起作用了,然后发生的事情是我将 DocumentRoot 更改为另一个位置并将其更改回来,然后它开始不起作用。 【参考方案1】:您是否安装并启用了 PHP 模块?因为,通常,它会在服务器签名中提到这一点,但你的却没有。这也可以解释为什么服务器无法识别 index.php
是您所说的 /
的意思。
试试
sudo a2enmod php5
【讨论】:
【参考方案2】:使用 url localhost/info.php。
文件 info.php 必须包含
<?php
phpinfo();
?>
【讨论】:
【参考方案3】:查看错误日志 (tail /var/log/apache2/error.log) 以找出 Apache 尝试查找的确切路径。
【讨论】:
【参考方案4】:跟我的问题一模一样。
以下对我有用:
正如 Andreas Jansson 提到的,符号链接默认为:
sudo ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/default
并重新启动 apache2:
sudo /etc/init.d/apache2 restart
然后它就起作用了:
http://localhost/
【讨论】:
【参考方案5】:查看 /etc/apache2/sites-enabled。看来我升级到 10.10 已经从该目录中清除了符号链接。尝试将默认符号链接到 /etc/apache2/sites-available/default
sudo ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/default
【讨论】:
你也重启了 apache? 好的,在我重新启动 Apache2 后,我进入了“/ 的索引”页面,在那里我可以看到目录。如何让它再次像以前一样默认为该目录中的 Index.php 页面? 最简单的方法,只需将 Index.php 重命名为 index.php 或者,您可以编辑/etc/apache2/mods-enabled/dir.conf,将Index.php添加到DirectoryIndex 谢谢!很棒的跟进工作。以上是关于尝试访问本地 LAMP 服务器上的 localhost 时出现 404 Not Found 错误的主要内容,如果未能解决你的问题,请参考以下文章