bogddan/redirector

一款易于管理的Laravel重定向包。

dev-main 2023-05-15 11:46 UTC

This package is auto-updated.

Last update: 2024-09-15 14:44:00 UTC


README

Laravel的嵌套重定向

Build Status StyleCI Scrutinizer Code Quality Code Coverage

概述

此包允许您为Laravel应用程序创建简单的或多个嵌套重定向。

当您的应用程序中有可能被修改的URL时,此包从SEO角度来看可能很有用。

动态重定向逻辑示例

  • 假设您有一个名为/original的URL

  • 您从/original重定向到/modified

    访问/original将重定向到/modified

  • 您从/modified重定向到/modified-again

    访问/modified将重定向到/modified-again,并且
    访问/original将重定向到/modified-again

  • 您从/modified-again重定向到/modified-yet-again

    访问/modified-again将重定向到/modified-yet-again,并且
    访问/modified将重定向到/modified-yet-again,并且
    访问/original将重定向到/modified-yet-again

  • 您从modified-yet-again重定向到/original

    访问/modified-yet-again将重定向到/original,并且
    访问/modified-again将重定向到/original,并且
    访问/modified将重定向到/original

安装

使用Composer安装包

composer require Bogddan/redirector

使用

php artisan vendor:publish --provider="Bogddan\Redirects\ServiceProvider" --tag="config"

使用

php artisan vendor:publish --provider="Bogddan\Redirects\ServiceProvider" --tag="migrations"

迁移发布后,您可以通过运行以下命令创建redirects

php artisan migrate

用法

添加中间件

为了使重定向功能真正发生,您需要添加Bogddan\Redirects\Middleware\RedirectRequests中间件。

前往App\Http\Kernel并在您选择的$middlewareGroups组中添加Bogddan\Redirects\Middleware\RedirectRequests中间件。

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        ...
        \Bogddan\Redirects\Middleware\RedirectRequests::class,
创建重定向

您不应直接使用Bogddan\Redirects\Models\Redirect,因为这将是Bogddan\Redirects\Contracts\RedirectModelContract的默认具体实现。

直接使用Bogddan\Redirects\Models\Redirect模型类将阻止您扩展模型的功能。

您可以通过以下方式创建将存储在redirects表中的重定向

app('redirect.model')->create([
    'old_url' => '/your-old-url',
    'new_url' => '/your-new-url',
    'status' => 301
]);

有关如何扩展Bogddan\Redirects\Models\Redirect模型类功能的说明,请参阅/config/redirects.php -> redirect_model中的注释

鸣谢

安全性

如果您发现任何与安全相关的问题,请通过电子邮件发送至Bogddan@tukan.hu,而不是使用问题跟踪器。

许可证

MIT许可证(MIT)。有关更多信息,请参阅LICENSE

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。