为啥我得到的是 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 文件?