我得到了一个需要启动并运行的laravel项目。我是laravel的新手,但分配工作后,我相信我已正确配置了所有内容,并将该项目部署到了heroku。
当我做工匠在laravel项目中的客户计算机上提供服务并转到给定的url时,所有链接均正常运行。 但是我将其部署到了heroku,我的索引页面显示了,但是没有一个链接起作用。 我得到:
Not Found The requested URL /register was not found on this server.
运行php artisan serve似乎可以激活链接,但是如何在heroku上实现呢?
我应该注意该应用程序正在使用blade.php文件
我想念什么?
我在公用文件夹中的_htaccess如下
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
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]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
我尝试添加RewriteBase /没有帮助。 我还尝试将htaccess更改为:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
我的Procfile有:
web: vendor/bin/heroku-php-apache2 public/
谢谢
答案 0 :(得分:0)
我解决了我的问题,看来我的web.routes路径中有一些小写字母 那应该是大写字母。本地主机似乎不介意这些单词是否为大写,但linux确实介意....不确定是否会有所帮助,但我在很长的时间内搜索了一些愚蠢的东西...
答案 1 :(得分:0)
我必须重新启动测功机才能运行,运行heroku restart
还要确保您的根目录中有一个Procfile
web: vendor/bin/heroku-php-apache2 public/
答案 2 :(得分:-1)
我还有一个未解决的问题...尝试部署到heroku,加载了主页,但链接返回未找到类的错误...尝试了相同的解决方法,包括更新heroku上的作曲家...抱歉,没有答案,但是想关注这个话题
答案 3 :(得分:-1)