我刚刚按照他们的指示安装了Laravel Homestead.当我打开http://homestead.app:8000时,我得到了nginx 403禁止的HTTP响应.
我尝试将应用程序/存储权限设置为755,但这不起作用,所以我重新加载了Vagrant.没有进一步的结果.
我也试过更改nginx配置,但没有成功.
hdo*_*mos 65
我有同样的问题,对我来说原因是在Homestead.yaml文件中,我错误地把它:
sites:
- map: homestead.app
to: /home/vagrant/Code
Run Code Online (Sandbox Code Playgroud)
而不是正确的语法:
sites:
- map: homestead.app
to: /home/vagrant/Code/path/to/public
Run Code Online (Sandbox Code Playgroud)
cas*_*stt 28
此响应的另一个原因可能是使用公共目录中的文件夹复制路由.例如,您的目录中可能包含homestead.app/lists
GET
路径和lists
文件夹/public
.这将导致相同的403错误(服务器将假定您尝试访问/public/lists
目录而不是您的/lists
路由).
小智 9
我一直在撞墙来处理同样的问题,我刚刚解决了这个问题.
我确信我已经正确设置了yaml文件,但是我一直收到403错误,当我尝试一些路由时,我得到了"未指定输入文件".
我的解决方案来自http://laravel.com/docs/4.2/homestead,它涉及使用serve命令.我没有添加任何其他网站,只是尝试任何东西来让第一个网站运行.
SSH进入我的流浪盒并使用命令"serve my_app_name.app/home/vagrant/Code/path/to/public"完成了这项工作.请注意,我已经在我的主机文件中为此应用程序添加了一个条目.
希望这有助于某人.
OK,我得到答案的问题,搜索和调试的几个小时后.
问题:
因此,如果您不想重命名route或assets文件夹,那么您需要做的就是替换
location / {
try_files $uri $uri/ /index.php?$query_string;
# ^^^^^
}
Run Code Online (Sandbox Code Playgroud)
有了这个:
location / {
try_files $uri /index.php?$query_string;
}
Run Code Online (Sandbox Code Playgroud)
如果您可以在没有任何重构的情况下重命名路由或资产文件夹,那么您可以在没有nginx配置修复的情况下执行此操作.
希望这会有所帮助.
对于某些人来说,这可能就像在现有的公共文件夹中克隆git一样简单,例如:
- map: hello-world.dev
to: /home/vagrant/Code/Laravel/public/hello-world
Run Code Online (Sandbox Code Playgroud)
正确的文件夹结构是:
- map: hello-world.dev
to: /home/vagrant/Code/hello-world/public
Run Code Online (Sandbox Code Playgroud)
另一个好消息是忽略编辑hosts文件的laravel文档,使用git shell或cygwin(windows)来安装vagrant hostsupdater,并简单地将主机和别名的条目添加到〜/ .homestead/Homestead.yaml文件中.
以下是完整的解决步骤:
跑 homestead edit
添加/public
到目录的末尾
sites:
- map: homestead.app
to: /full/path/to/the/laravel-app/public
homestead halt && homestead up --provision
归档时间: |
|
查看次数: |
39419 次 |
最近记录: |