📜  Laravel 存储进入 404 页面. (符号链接不起作用)- PHP (1)

📅  最后修改于: 2023-12-03 14:43:47.900000             🧑  作者: Mango

Laravel 存储进入 404 页面 (符号链接不起作用) - PHP

简介

本文将介绍如何使用 Laravel 进行存储并将其连接到 404 页面。此方法适用于当使用符号链接时无法正常访问存储文件时的情况。

步骤
1. 创建 404 路由

首先,我们需要在 routes/web.php 文件中创建一个处理所有 404 请求的路由。

use Illuminate\Http\Response;

Route::fallback(function () {
    return response('Not Found', 404);
});
2. 配置符号链接

接下来,我们需要在 Laravel 的公共文件夹中创建一个符号链接,指向我们存储文件的位置。这样当访问符号链接时,实际上是访问存储文件。

打开终端并进入你的 Laravel 项目根目录,然后执行以下命令:

ln -s /path/to/storage/app/public /path/to/public/storage

确保将 /path/to/storage/app/public 替换为你的存储路径,将 /path/to/public/storage 替换为你想要创建的符号链接路径。

3. 配置 Nginx 或 Apache

下面是如何配置 Nginx 或 Apache 服务器以正确处理符号链接的示例:

Nginx 配置示例(位于 nginx.confsites-available):

location /storage {
    try_files $uri $uri/ /index.php?$query_string;
}

Apache 配置示例(位于 .htaccess):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

请根据你的服务器环境进行相应的配置。

4. 测试

现在,当你访问 http://yourdomain.com/storage 时,你将能够看到存储文件,并且当你访问不存在的文件时将会返回 404 页面。

结论

通过按照上述步骤,你可以使用 Laravel 进行存储并将其连接到 404 页面。记得配置好符号链接和服务器以确保一切正常运行。这将确保在无法访问存储文件时的良好用户体验。

希望本文对你有所帮助!