Apache - 404 未找到

Posted

技术标签:

【中文标题】Apache - 404 未找到【英文标题】:Apache - 404 Not Found 【发布时间】:2017-04-04 02:34:04 【问题描述】:

下午好,

我正在制定一个项目,我已经在带有 ubuntu16.04 的虚拟机中安装了 phpmysql、apache2。我在本地工作,我已经安装了 laravel 5.3,我有一个 API 正在运行并创建了一个新的虚拟主机并放置了 DocumentRoot my_folder/publicServerName name_virtual_host。然后我转到我的主机文件并放置一个新行:127.0.0.1 name_virtual_host。当我在浏览器上放置 http://name_virtual_host 时,laravel 页面看起来像它应该的那样,但是当我输入 http://name_virtual_host/api 时,它会返回:

找不到

在此服务器上找不到请求的 URL /api。

Apache/2.4.18 (Ubuntu) 服务器在 name_virtual_host 端口 80 它曾经 出现 JSON。

我的虚拟主机:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName name_virtual_host
        DocumentRoot /var/www/my_folder/public
        ErrorLog $APACHE_LOG_DIR/error.log
        CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>

如果在我的文件夹中我写了命令

php 工匠服务

并输入网址:

name_virtual_host:8000/api

,这行得通。

我该如何解决这个问题? 我认为解决方案是创建文件.htaccess,但是我应该在这个文件(.htaccess)中放什么?

谢谢。

【问题讨论】:

Rishav 的这个回答对我有用。 How to run an php application without installing xampp on client system? 【参考方案1】:

Laravel should come with a public/.htaccess file 将所有请求重定向到 index.phpRewriteRule ^ index.php [L] 部分)。

如果您没有此文件,请添加它。如果您已经拥有此文件,请确保在您的 apache 服务器上启用了mod_rewrite(并重新启动它)。

没有它,当您请求 /api 时,Apache 将在您的 DocumentRoot 中查找名为 api 的文件。请求必须从laravel documentation发送到index.php

公共目录包含 index.php 文件,它是所有请求进入您的应用程序的入口点。

【讨论】:

非常感谢,错过了启用的 mod_rewrite。谢谢

以上是关于Apache - 404 未找到的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP/Apache 文件夹中的 .htaccess 未找到错误 404

Apache Ranger REST API addUsersAndGroups 返回 404 未找到

Apache Cordova:“加载资源失败:服务器响应状态为 404(未找到)”

Ubuntu 14.04 Apache 2.4.7 404 未找到

GWT RPC“未找到 404”错误。如何让 RPC 在您自己的 Apache 服务器上工作?

404未找到:原始服务器未找到目标资源的当前表示,或不愿意透露存在的资源