为啥我得到的是 Apache2 欢迎页面而不是 laravel 页面?

Posted

技术标签:

【中文标题】为啥我得到的是 Apache2 欢迎页面而不是 laravel 页面?【英文标题】:Why am I getting the Apache2 welcome page instead of the laravel page?为什么我得到的是 Apache2 欢迎页面而不是 laravel 页面? 【发布时间】:2019-11-04 09:25:46 【问题描述】:

我通过宅基地安装了 laravel,但是当我转到 localhost 时,我得到了 apache2 欢迎/成功屏幕。我无法加载 Laravel 欢迎页面。

我在宅基地箱上运行 vagrant,但没有 laravel 文件。所以我使用composer create-project --prefer-dist laravel/laravel app安装它。

现在,当我转到 localhost 时,我看到了 apache2 欢迎屏幕。如果我在/vagrant 中添加index.html,我可以通过转到localhost:8000 来加载它。但是在没有索引文件的情况下转到相同的地址会导致 403。

我尝试了所有 URL 组合,/app、/app/app、/app/public,并且我尝试更改 .env 中的 URL。

奇怪的是,我在服务器上找不到这个 apache 欢迎文件。该页面本身显示“您应该替换此文件(位于 /var/www/html/index.html)”如果我通过 SSH 进入并转到该文件夹​​,那里有一个 nginx 欢迎 html 页面,但没有 apache 页面。

如果我在浏览器中转到 file:///var/www/html/,我会看到 apache 欢迎页面的 index.html。如果我去 file:///var/ 我看到几个不同的文件夹,而不是通过 SSH 进入 vagrant 框。我不明白为什么。

如何让 Laravel 欢迎页面出现?

编辑:

http://localhost:8000/public 返回“未指定输入文件”

网站是 homestead.yaml 的一部分

sites:
-
    map: homestead.test
    to: /home/w/work/qs/app/public

/etc/hosts:

127.0.0.1       localhost
127.0.1.1       qs      qs
192.168.10.10   homestead.test
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
#### HOMESTEAD-SITES-BEGIN
# 127.0.0.1     homestead.test
#### HOMESTEAD-SITES-END

【问题讨论】:

试试localhost:8000/public 输出是什么? 你在关注这个吗? laravel.com/docs/5.8/homestead 是的,我使用了该页面中的“每个项目安装”。 localhost:8000/public 返回“未指定输入文件” 【参考方案1】:

根据文档,

you will still need to add an  /etc/hosts file entry for homestead.test or the domain of your choice if you are not using automatic 

在您的 /etc/hosts 文件中添加域条目,例如:

192.168.10.10  homestead.test

然后尝试从浏览器浏览http://homestead.test

确保列出的 IP 地址是 Homestead.yaml 中设置的 IP 地址

已编辑: 看来您可能会在项目的根目录之外运行一些命令。

这是验证您的步骤的非常短的视频。

https://youtu.be/a9jtoXXp5ao

一切顺利!

【讨论】:

我添加了,但在那个地址找不到任何东西。 你检查过这个吗? Make sure the IP address listed is the one set in your Homestead.yaml 感谢您的帮助。这是正确的,但它仍然不起作用。但是,如果我直接去192.168.10.10/app/public,它确实出现了! 让我们continue this discussion in chat.【参考方案2】:

您需要为每个站点添加主机条目并将映射添加到您的 Homestead.yaml:

/etc/hosts:

192.168.10.10    homestead.test

~/Homestead/Homestead.yaml:

sites:
    - map: homestead.test
      to: /home/vagrant/code/my-project/public

然后还在~/Homestead下,运行vagrant up --provision

【讨论】:

以上是关于为啥我得到的是 Apache2 欢迎页面而不是 laravel 页面?的主要内容,如果未能解决你的问题,请参考以下文章

为啥当我尝试打印地图内容时,我得到的是地址而不是值?在 C++ 中

我想使用 MongoDB 数据库在 firebase 上部署我的 Node.js 应用程序。但我得到的只是 firebase 欢迎页面,而不是我的网站

Blazor 脚手架注册页面为啥 .cshtml 不是 .razor 文件?

为啥人们会缩小资产而不是 HTML?

如何修复“Apache2 Debian 默认页面”而不是我的网站

为啥debian8安装nginx变成了apache2?