首页 > 解决方案 > 将 Laravel 应用程序部署到 Heroku 时链接不起作用

问题描述

我得到了一个需要启动和运行的 laravel 项目。我是 laravel 的新手,但经过大量工作,我相信我已经正确配置了所有内容,并将项目部署到 heroku。

当我在我的 laravel 项目中的来宾机器上进行工匠服务并转到给定的 url 时,一切正常,所有链接都可以正常工作。但我将它部署到 heroku 并且我的索引页面显示但没有一个链接工作。我得到:

Not Found The requested URL /register was not found on this server. 

似乎运行 php artisan serve 有点激活链接,但我如何在 heroku 上实现这一点???

我应该注意该应用程序正在使用 Blade.php 文件

我错过了什么???

目录结构

这是在 /resources/views 在此处输入图像描述

我的公用文件夹中的_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/

谢谢

标签: phplaravelheroku

解决方案


好吧,我解决了我的问题,似乎我的 web.routes 路径中有一些应该是大写字母的小写字母。本地主机似乎不介意单词是否大写,但 linux 似乎介意....不确定它是否有帮助,但我搜索了很长一段时间来寻找如此愚蠢的东西...


推荐阅读