无法访问共享主机上的 laravel public 文件夹
Cant' access laravel public folder on shared hosting
我最近在 OVH 共享主机上安装了一个 Laravel 应用程序(pro,所以我有 ssh 访问权限)。这是我的安装结构:
user
app
public
www
站点访问在 'www' 下,所以我在那里创建了一个符号 link:
ln -s /home/user/app/public /home/user/www/index.html
当我签入 Filezilla 时,symlink 正在工作并指向 laravel public 文件夹。
但是,在尝试访问该站点时,我收到 403 Forbidden 您无权访问此资源。
我做错了什么?
你的符号 link 有问题...你指向 index.html
而不是 index.php
试试这个:
ln -s /home/user/app/public /home/user/www/index.php
并创建此 .htaccess
文件并将其放入您的 laravel 安装(根)文件夹中。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/ [L]
</IfModule>
我无法让它工作,顺便说一下,这不是 laravel 相关的问题,我假设 ovh 不允许符号链接到共享服务器上的受保护文件夹。真的很遗憾,但我最终在 www 文件夹中安装了 laravel 并阻止使用 .htaccess
访问根目录
您可以将 app/public
定义为根文件夹的多站点。另外,我不会 link 到 index.html
这样的文件,而是 ../app/public
这样的文件夹,例如确保 __DIR__
在 php 中正常工作。 (顺便说一下,Laravel 没有 index.html
)。
我在 OVH 共享服务器上遇到了类似的问题:403 forbidden, You don’t have permission to access this resource
在访问 Laravel 的 public 存储中的文件时。
将 .htaccess
调整为 allow from all
或将文件系统访问控制权限调整为 777
rwxrwxrwx
没有任何效果。
对我来说,解决方案是用相对 link ../storage/app/public
替换 php artisan storage:link
创建的绝对 link /home/accountname/www/***/storage/app/public
我最近在 OVH 共享主机上安装了一个 Laravel 应用程序(pro,所以我有 ssh 访问权限)。这是我的安装结构:
user
app
public
www
站点访问在 'www' 下,所以我在那里创建了一个符号 link: ln -s /home/user/app/public /home/user/www/index.html
当我签入 Filezilla 时,symlink 正在工作并指向 laravel public 文件夹。 但是,在尝试访问该站点时,我收到 403 Forbidden 您无权访问此资源。
我做错了什么?
你的符号 link 有问题...你指向 index.html
而不是 index.php
试试这个:
ln -s /home/user/app/public /home/user/www/index.php
并创建此 .htaccess
文件并将其放入您的 laravel 安装(根)文件夹中。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/ [L]
</IfModule>
我无法让它工作,顺便说一下,这不是 laravel 相关的问题,我假设 ovh 不允许符号链接到共享服务器上的受保护文件夹。真的很遗憾,但我最终在 www 文件夹中安装了 laravel 并阻止使用 .htaccess
访问根目录您可以将 app/public
定义为根文件夹的多站点。另外,我不会 link 到 index.html
这样的文件,而是 ../app/public
这样的文件夹,例如确保 __DIR__
在 php 中正常工作。 (顺便说一下,Laravel 没有 index.html
)。
我在 OVH 共享服务器上遇到了类似的问题:403 forbidden, You don’t have permission to access this resource
在访问 Laravel 的 public 存储中的文件时。
将 .htaccess
调整为 allow from all
或将文件系统访问控制权限调整为 777
rwxrwxrwx
没有任何效果。
对我来说,解决方案是用相对 link ../storage/app/public
php artisan storage:link
创建的绝对 link /home/accountname/www/***/storage/app/public