Php 将Laravel应用程序部署到Heroku时链接不起作用
我得到了一个laravel项目,我需要启动并运行。我对laravel是新来的,但在分配了工作之后,我相信我已经正确地配置了所有东西,并将项目部署到了heroku 当我在我的laravel项目的来宾机器上做artisan服务,并转到给定的url时,所有链接都正常工作。 但我将它部署到heroku,我的索引页面显示了,但没有一个链接起作用。 我得到: 运行php artisan服务似乎激活了链接,但我如何在heroku上实现这一点呢 我应该注意到该应用程序使用的是blade.php文件 我错过了什么 这在/resources/views中 我对公用文件夹的访问权限如下Php 将Laravel应用程序部署到Heroku时链接不起作用,php,laravel,heroku,Php,Laravel,Heroku,我得到了一个laravel项目,我需要启动并运行。我对laravel是新来的,但在分配了工作之后,我相信我已经正确地配置了所有东西,并将项目部署到了heroku 当我在我的laravel项目的来宾机器上做artisan服务,并转到给定的url时,所有链接都正常工作。 但我将它部署到heroku,我的索引页面显示了,但没有一个链接起作用。 我得到: 运行php artisan服务似乎激活了链接,但我如何在heroku上实现这一点呢 我应该注意到该应用程序使用的是blade.php文件 我错过了什么
<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>
我的proc文件有:
web: vendor/bin/heroku-php-apache2 public/
谢谢我解决了我的问题,似乎我的web.path中有一些小写字母
那应该是大写字母。本地主机似乎不介意这些单词是否大写,但linux似乎介意。。。。不确定它是否有用,但我花了很长时间才找到这么愚蠢的东西…我必须重新启动dynos才能让它工作,运行
heroku restart
还要确保在根目录中有一个Procfile
web:vendor/bin/heroku-php-apache2 public/
我通过以下方式解决了问题:
在config/app.php中
我改为:
“asset\u url”=>env('asset\u url',”)这不太可能解决OP描述的问题。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
web: vendor/bin/heroku-php-apache2 public/