【发布时间】:2015-09-04 13:50:49
【问题描述】:
我创建了我的第一个 Laravel 应用程序,它可以在本地运行。路由和控制器等内容位于 app 目录中,我可以在以下位置看到它:http://homestead.app(我没有在 url 中包含 /app)。我是用这些 laracast 制作的:https://laracasts.com/series/laravel-5-from-scratch
问题:我已经成功将其部署到 Heroku,但是当我转到根 url (https://dk-laravel-test.herokuapp.com) 时,出现 403 错误:
Forbidden
You don't have permission to access / on this server.
线索:
-
根据 Papertrail 日志,它实际上是在尝试访问 /app/,但我不知道为什么 - 这是正常的,还是无意中设置的?
9 月 4 日 05:50:40 dk-laravel-test app/web.1:[2015 年 9 月 4 日星期五 12:50:40.115461] [autoindex:error] [pid 104:tid 140623923373824] [client 10.157.115.7: 23446] AH01276:无法提供目录 /app/:找不到匹配的 DirectoryIndex (index.php,index.html,index.htm),并且选项指令禁止服务器生成的目录索引
1234563
(3. 我之前在 heroku 中添加了一个小测试 php 应用程序,效果很好 - 比较两者没有什么明显的跳出,但 Laravel 显然要好得多)
问题:我会在哪里不小心告诉它转到 /app/?这正常吗?抱歉,如果这是基本的,这是我的第一次牛仔竞技表演,我已经环顾了好几个小时了
我检查的其他信息/资料: - 在这篇文章 (https://mattstauffer.co/blog/installing-a-laravel-app-on-heroku) 之后,我设置了 BUILDPACK_URL,在我的 Procfile 中我有:
web: vendor/bin/heroku-php-apache2 public
如果我删除 'public' 参数(在阅读此 https://devcenter.heroku.com/articles/custom-php-settings#setting-the-document-root 后尝试),或者将其更改为 /Laravel/public
,没有不同的结果
-
我还没有接触过我的 laravel 项目中的 .htaccess 文件:
选项 - 多视图
RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 我确认 Procfile 是大写的 (Symfony on Heroku: 403 Forbidden You don't have permission to access / on this server)
以防万一,我正在使用 Homestead
有什么想法吗?我在哪里会不小心告诉它转到 /app/?我应该检查的其他内容?非常感谢任何帮助!
【问题讨论】: