php - 实时部署时出现 Laravel 404 错误

Posted

技术标签:

【中文标题】php - 实时部署时出现 Laravel 404 错误【英文标题】:php - laravel 404 error when deploying live 【发布时间】:2019-03-31 22:49:03 【问题描述】:

在实时服务器上部署项目时出现 404 错误。我得到一个 laravel 页面,上面写着 Sorry, the page you are looking for could not be found.,所以我知道它正在到达我的项目。

我跑了php artisan config:cachephp artisan route:cache来注册我的路由和缓存,但它仍然没有改变。不太确定我为什么会收到此错误。我的虚拟主机中的文档根目录也设置为我的公共文件夹。

我采取的部署步骤

    从 git 克隆我的项目 将分支更改为我的开发分支 为我的项目授予了777 的权限(我知道这是错误的,我只是想让它部署并查看它是否有错误) 将我的虚拟主机指向project/public 添加了 .env(在之前的部署中使用过) 作曲家安装 作曲家更新 php 工匠配置:缓存 php 工匠路线:缓存

虚拟主机

<IfModule mod_ssl.c>
   <VirtualHost *:443>
      DocumentRoot /var/www/html/API/public
      #DocumentRoot /var/www/API/public/

      ServerName api.app.io
      ServerAlias api.app.io
      ErrorLog $APACHE_LOG_DIR/api-error.log
      CustomLog $APACHE_LOG_DIR/api-access.log combined

         <Directory "/var/www/API/public">
            #Options +Includes
            #Options +FollowSymLinks -Indexes
            Options All
            AllowOverride All
            Require all granted

         </Directory>

      SSLCertificateFile /etc/letsencrypt/live/api.app.io/cert.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/api.app.io/privkey.pem
      Include /etc/letsencrypt/options-ssl-apache.conf
      SSLCertificateChainFile /etc/letsencrypt/live/api.app.io/chain.pem
   </VirtualHost>
</IfModule>

.htaccess

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    # RewriteCond %HTTP:Authorization .
    # RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_URI (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %REQUEST_FILENAME !-d
    RewriteCond %REQUEST_FILENAME !-f
    RewriteRule ^ index.php [L]

    # Handles JWT middleware
    RewriteCond %HTTP:Authorization ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
</IfModule>

【问题讨论】:

能否请您查看并分享来自storage/logs的日志文件内容 没有与此相关的内容。最后一个条目来自我早些时候解决的一个错误。 @jermaynewilliams 我们无法解决此信息的问题,请分享更多信息 您的 .htaccess 文件可能有问题,或者您在服务器上使用了错误的 PHP 版本。无论哪种方式,如果是共享主机,您都可以寻求提供商的帮助 @FatemehMajd 我的.htaccess有什么问题我的php版本和我的开发版本一样 【参考方案1】:

尝试在您的主机面板中更改 php 版本。

【讨论】:

以上是关于php - 实时部署时出现 Laravel 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

将WAR部署到tomcat时出现404

DataTables 在本地工作,托管时出现 404 和 Ajax 错误

Angular 2 应用程序部署到 Azure 时出现错误 404

部署到 heroku 时出现错误“无法加载资源 404”bundle.js

Nuxt 应用程序在部署到现在时在刷新时出现 404 错误

使用 ant-cli 部署生产 mobilefirst 7.1 环境时出现 404 错误