php 使用Laravel,如果有人访问公共存储目录,您可以重定向到主页吗?

xxe27gdn  于 2022-12-21  发布在  PHP
关注(0)|答案(2)|浏览(147)

我已经用Laravel做了一个网站,但我想让它重定向,如果用户试图访问一个公共存储目录(不是图像/文件)。
例如,图像可能托管在“mywebsite.com/storage/uploads/Image1.jpg“上,如果用户删除“Image1.jpg”部分并尝试访问“mywebsite.com/storage/uploads/“或“mywebsite.com/storage/,”则会显示403错误。
在这种情况下,我希望用户被重定向到主页。我如何才能做到这一点?

2o7dmzc5

2o7dmzc51#

您可以尝试将其添加到web/routes.php中

Route::get('storage/{path?}', function () {
    return redirect('/');
});
jm81lzqq

jm81lzqq2#

使用下面的代码

Route::get('files/{pathToFile}', function($pathToFile) {

if (auth()->user()->hasAccessToFile($pathToFile)) {
    return response()->file($pathToFile);
} else {
    return 'Nope, sorry bro, access denied!';
}

});

相关问题