403在存储目录上禁止

时间:2019-08-11 13:35:43

标签: laravel .htaccess

我有一个使用cPanel在Linux上托管的网站。我可以访问网站的所有页面,但“存储”目录中的文件除外。文件结构是在我的“ public”文件夹和我的主要网站文件(“ tbcrp”)的基础上设置的,并以“ public”文件夹作为根目录/默认目录。文件结构图片:https://gyazo.com/e1e958f75c92fdc201f2b5975d109f37

“ public”文件夹中的符号链接指向网站/ storage / app / public中的文件夹。想法是,这允许访问存储的子部分,并且是文档中访问的常用方法: https://laravel.com/docs/5.8/filesystem#the-public-disk

当我尝试通过以下地址访问文件时: my-domain.com/storage/profiles/homepage-mockup.jpg

我收到403禁止的错误。

文件结构根目录下的.htaccess文件是:

RewriteEngine on

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.my-domain.com/$1 [R,L]

RewriteCond %{HTTP_HOST} ^my-domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.my-domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
</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]
</IfModule>

我没有太多的访问经验,但是相同的文件结构在本地有效,因此我认为我的网站中存在权限配置错误。

谢谢!

0 个答案:

没有答案