【发布时间】:2021-07-25 16:40:07
【问题描述】:
如何访问存储中的文件。
文件位置
storage/uploads/documentUpload/3_1620028799.PNG
记住:php artisan storage link 将不起作用,因为文件不在 app/public 文件夹中。
文件 URL http://example.com/storage/uploads/logo/logo.png 404 错误。 有什么方法可以在 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]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
【问题讨论】:
-
如果不在
public下,则无法公开访问。如果是这样,那将是一个安全问题。但是,您可以执行 this answer 之类的操作并在 Laravel 代码中流式传输文件。例如,如果您需要授权,这也允许您将路由放在中间件后面
标签: laravel .htaccess filesystems