无法访问 Laravel 共享主机中的符号链接文件

伦莫海因

我使用hostinger,并且在我的父托管目录中有两个文件夹

  1. 我的 laravel 应用程序文件夹
  2. public_html

public/index.php 我改变了

  1. require __DIR__.'/../vendor/autoload.php'; require __DIR__.'/../my-laravel-app-folder/vendor/autoload.php';
  2. $app = require_once __DIR__.'/../bootstrap/app.php'; $app = require_once __DIR__.'/../my-laravel-app-folder/bootstrap/app.php';

在 public/.htaccess 文件中我改变了

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

    RewriteEngine On
    Options +FollowSymLinks


    # 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]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l

    RewriteRule ^ index.php [L]
</IfModule>

从父/目录,我已经运行

ln -s my-laravel-app-folder/storage/app/public public_html/storage

但我仍然无法访问链接的存储文件并404出错。

伦莫海因

最后我找到了解决方案,在创建符号链接时,我必须包含文件夹的绝对路径而不是当前路径。例如,

  • 对于my-laravel-app-folder/storage/app/public替换/home/u440262284/domains/mysite.com/my-laravel-app-folder/storage/app/public,而不是和
  • 对于也public_html/storage替换为/home/u440262284/domains/mysite.com/public_html/storage

有效 !!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章