404 Not Found 在此服务器上未找到请求的 URL

Posted

技术标签:

【中文标题】404 Not Found 在此服务器上未找到请求的 URL【英文标题】:404 Not Found The requested URL was not found on this server 【发布时间】:2013-09-22 01:57:24 【问题描述】:

我遇到了一些小麻烦,想知道是否有人可以帮助我度过难关。我从 Hostgator 中提取了一个网站的副本,并尝试使用 WAMP 在我的本地计算机上设置它,但是在尝试访问该站点时我不断收到错误消息。这是我尝试过的..我去了 Apaches httpd.conf 文件并取消了 LoadModulerewrite_module modules/mod_rewrite.so 中的 # 注释。此外,我已将 AllowOverride None 更改为 All。话虽如此,我不确定还要寻找什么。请注意,在我的应用程序中,我的httaccess 文件前面没有(.) (.htaccess)。我不确定这是否值得注意。关于访问我的网站需要做什么的任何想法?当我访问应用程序时,我确实看到了一个缓存版本(白屏),但是当我单击链接登录时,我看到了404 Not Found

【问题讨论】:

您尝试访问哪个 URL 以及您希望它提取什么文件? .htaccess 中的点是必需的 smartwebdeveloper.com/apache/htaccess-problems 我正在尝试访问我的登录页面 Slic/users/login。我希望它拉出登录视图。 好的,我知道了。我不得不去重命名所有 .htaccess 文件。第一个在 www\Slic\.htaccess 中。下一个位于 www\Slic\app\.htaccess 中。最后一个在 www\Slic\app\webroot\.htaccess 感谢您发布的那篇文章!它让我克服了困难! The requested URL /about was not found on this server的可能重复 【参考方案1】:

我花了很多时间在这之后我找到了...解决方案

first -
sudo a2enmod rewrite


sudo systemctl restart apache2

this line depends on your apache2 version you found on your console copy and past ...

      sudo nano /etc/apache2/sites-available/000-default.conf


     DocumentRoot "/var/www/html"
    <Directory "/var/www/html">
            Options FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

【讨论】:

这确实有效,谁能解释一下这些权限?【参考方案2】:

对我来说,使用 OS X Catalina: 从AllowOverride None 更改为AllowOverride All 是可行的。

httpd.conf 位于/etc/apache2/httpd.conf

环境: php7。 mysql8.

【讨论】:

【参考方案3】:

在 Ubuntu 中我没有找到 httpd.conf,它现在可能不会退出了。 在为我工作的apache2.conf 文件中进行编辑。

cd /etc/apache2
sudo gedit apache2.conf

这里在 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 a2enmod rewrite。并且: sudo systemctl restart apache2. 这对我有用。谢谢!【参考方案4】:

就我而言(在 Windows 上本地运行服务器)我需要在更改 httpd.conf 文件后清理缓存。

\modules\apache\bin> ./htcacheclean.exe -t

【讨论】:

【参考方案5】:

刚刚解决了这个问题!我知道这个问题已经很老了,但我也遇到了同样的问题,上面的答案都没有帮助解决它。

假设您的c:\windows\System32\drivers\etc\hosts 中的actual domain name you want to use is specified 以及您在apache\conf\httpd.confapache\conf\extra\httpd-vhots.conf 中的配置是正确的,那么您的问题可能与我的相同:

在 Apache 的 htdocs 目录中,我有一个快捷方式链接到我想在浏览器中查看的实际项目。事实证明,Apache doesn't understand shortcuts。我的解决方案是创建一个适当的符号链接:

在 Windows 中,在 httdocs 目录中,我在终端中运行了这个命令:

mklink /d ple <your project directory with index.html> 

这在httpdocs 目录中创建了一个正确的符号链接。重新启动 Apache 服务,然后重新加载页面后,我可以看到我的网站了 :)

【讨论】:

【参考方案6】:

如果您的 .htaccess 文件正常并且问题仍然存在,请尝试在您的 httpd.conf 中启用 AllowOverride 指令。如果在 Apache httpd.config 文件中将 AllowOverride 指令设置为 None,则 .htaccess 文件将被完全忽略。 httpd.config 中启用 AllowOverride 指令的示例:

 <Directory />
    Options FollowSymLinks
    **AllowOverride All**
 </Directory>

因此重启你的服务器。

【讨论】:

***.com/questions/24497749/… 我尝试了你的建议。我仍然收到The requested URL /login was not found on this server. 修改后重启服务器 我做到了。而且我仍然看到该错误,并且我已经在我的应用程序中声明了该路由。【参考方案7】:

wamp/alias/mySite.conf 中,注意在别名地址的末尾添加斜杠“/”:

替换:

Alias /mySite/ "D:/Work/Web/mySite/www"

作者:

Alias /mySite/ "D:/Work/Web/mySite/www/"

或者index.php没有正确读取。

【讨论】:

【参考方案8】:

改一下

Include conf/extra/httpd-vhosts.conf

#Include conf/extra/httpd-vhosts.conf

并重启所有服务

【讨论】:

我必须在哪里做这个? 这是在 apache/conf/httpd.conf 中完成的,但这对我不起作用。【参考方案9】:

在 httpd.conf 文件中你需要删除 #

#LoadModule rewrite_module modules/mod_rewrite.so

删除 # 行后将如下所示:

LoadModule rewrite_module modules/mod_rewrite.so

我相信你的问题会得到解决...

【讨论】:

在 Ubuntu 上,主要的 Apache 配置文件实际上是 apache2.conf 。在目录:/etc/apache2/ @DoNhuVy 在 ubuntu 中,将 LoadModule rewrite_module modules/mod_rewrite.so 添加到 apache.conf 中? @QiankunSU ,我认为在这种情况下:apache2.conf。抱歉,目前我不使用 Ubuntu。 我的 MAMP 已经取消了注释,但我仍然看到该错误 The requested URL /login was not found on this server. 我是服务器部分的新手。我在 ubuntu 上找不到 httpd.conf 文件。在哪里添加该行?【参考方案10】:

要将文件另存为 .htaccess,在使用 windows 时,您必须打开记事本,然后另存为 .htaccess,因为 windows 不会创建以点开头的文件。这应该让你的 .htaccess 工作,它会解决这个问题。

顺便说一下,为了接收特定的错误信息,设置Configure::write('debug', 0); to '2' in app/config/core.php 用于开发目的。

【讨论】:

我重命名 .htaccess 的方法是打开命令提示符并执行以下命令。重命名 c:\wamp\www\app\htaccess.txt .htaccess

以上是关于404 Not Found 在此服务器上未找到请求的 URL的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter 404 Page Not Found 找不到您请求的页面

The remote server returned an error: (404) Not Found.怎么回事

将所有 Apache 2.2 403 Forbidden 重定向到 404 Not Found

在此服务器上未找到请求的资源 /qrcodes

门户发送请求出现404 Not Found

为啥 codeIgniter 显示在此服务器上未找到请求的 URL?