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
文件并取消了 LoadModule
rewrite_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
。
【讨论】:
【参考方案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.conf
和apache\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.怎么回事