1970mr / laravel-redirector

一款用于轻松高效管理URL重定向的Laravel包。

v1.3.1 2024-08-10 16:27 UTC

This package is auto-updated.

Last update: 2024-09-10 17:40:55 UTC


README

一款用于轻松高效管理URL重定向的Laravel包。

目录

安装

您可以通过Composer安装此包。

composer require 1970mr/laravel-redirector

接下来,您需要发布迁移和配置文件。

php artisan vendor:publish --provider="Mr1970\LaravelRedirector\RedirectorServiceProvider"

运行迁移以创建必要的数据库表。

php artisan migrate

配置

该包提供了一个配置文件,您可以在此管理各种设置,包括缓存方法和TTL(生存时间)。这些设置允许您优化重定向的性能和可扩展性。有关详细信息,请参阅config/redirector.php文件。

使用

中间件

要使用重定向中间件,您可以将它应用于特定路由、路由组,或将它全局添加到HTTP内核中间件堆栈中。

特定路由

use Mr1970\LaravelRedirector\Middlewares\HandleRedirects;

Route::middleware([HandleRedirects::class])->group(function () {
    // Your routes here
});

全局中间件

在Laravel 11中,您可以在bootstrap/app.php文件中全局添加中间件。

->withMiddleware(function (Middleware $middleware) {
     $middleware->append(\Mr1970\LaravelRedirector\Middlewares\HandleRedirects::class);
})

别名中间件

您可以通过别名或类名在路由中使用中间件。

// Using alias
Route::middleware(['redirector'])->group(function () {
    // Your routes here
});

// Using class name
Route::middleware([\Mr1970\LaravelRedirector\Middlewares\HandleRedirects::class])->group(function () {
    // Your routes here
});

Artisan命令

该包提供了一些Artisan命令来管理重定向。

创建重定向

要创建重定向,您可以使用redirect:create Artisan命令。此命令允许您指定源URL、目标URL、状态码以及是否启用重定向。

php artisan redirect:create {source_url} {destination_url} {status_code=301} {is_active=1}
示例
  1. /old-page重定向到/new-page,状态码为301,并设置为启用。

    php artisan redirect:create /old-page /new-page 301 1
  2. /specific-page重定向到https://google.com,状态码为301,并设置为启用。

    php artisan redirect:create /specific-page https://google.com 301 1

更新重定向

要更新现有重定向,您可以使用redirect:update Artisan命令。

php artisan redirect:update {source_url} {destination_url} {status_code=301} {is_active=1}
示例

将重定向从/old-page更新到/new-destination,状态码为302,并设置为启用。

php artisan redirect:update /old-page /new-destination 302 1

删除重定向

要删除重定向,请使用redirect:delete Artisan命令。

php artisan redirect:delete {source_url}
示例

删除从/old-page的重定向。

php artisan redirect:delete /old-page

列出重定向

要列出所有配置的重定向,请使用redirect:list Artisan命令。

php artisan redirect:list

控制器和视图

您还可以使用控制器、请求、路由和视图设置更可定制的CRUD界面来管理重定向。该包提供了一个命令来生成这些组件。

php artisan redirector:install

此命令将安装管理重定向所需的控制器、请求、路由和视图。

自定义实现

此外,您可以直接使用Redirect模型在应用程序代码中创建、更新或删除重定向,根据需要。这种方法允许完全自定义重定向的管理方式和位置。

缓存

该包支持两种缓存方法

  • 完整列表:所有启用的重定向都被缓存为一个单一集合。此方法适用于少量重定向,但随着重定向数量的增加可能变得低效。任何创建、更新或删除操作都会重置整个列表缓存。
  • 单个:每个重定向单独缓存。此方法在大量重定向的情况下表现更好,但可能导致更多缓存操作。创建、更新或删除操作仅重置特定缓存的项。

您可以在config/redirector.php文件中配置缓存方法和TTL,以满足您的应用程序需求。

测试

要运行包的测试,请使用以下命令

composer test

许可证

MIT许可证。请参阅许可证文件以获取更多信息。