neurony/laravel-redirects

此包已弃用且不再维护。作者建议使用 varbox/varbox 包。

Laravel 的嵌套 URL 重定向逻辑

3.0.0 2020-06-09 08:24 UTC

This package is auto-updated.

Last update: 2020-10-10 14:15:10 UTC


README

遗憾的是,此包现已停用。
请查看 Varbox(Laravel 管理面板)以获取此功能以及其他更多功能。

谢谢!

Laravel 的嵌套重定向

Build Status StyleCI Scrutinizer Code Quality

概述

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

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

动态重定向逻辑的示例

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

  • 您从 /original 重定向到 /modified

    访问 /original 将重定向到 /modified

  • 您从 /modified 创建另一个重定向到 /modified-again

    访问 /modified 将重定向到 /modified-again AND
    访问 /original 将重定向到 /modified-again

  • 您从 /modified-again 创建另一个重定向到 /modified-yet-again

    访问 /modified-again 将重定向到 /modified-yet-again AND
    访问 /modified 将重定向到 /modified-yet-again AND
    访问 /original 将重定向到 /modified-yet-again

  • 您从 modified-yet-again 创建另一个重定向到 /original

    访问 /modified-yet-again 将重定向到 /original AND
    访问 /modified-again 将重定向到 /original AND
    访问 /modified 将重定向到 /original

安装

通过 Composer 安装包

composer require neurony/laravel-redirects

使用

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

使用

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

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

php artisan migrate

用法

添加中间件

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

转到 App\Http\Kernel 并将 Neurony\Redirects\Middleware\RedirectRequests 中间件添加到您选择的 $middlewareGroups 组中。

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

您绝不应该直接使用 Neurony\Redirects\Models\Redirect,因为这默认是针对 Neurony\Redirects\Contracts\RedirectModelContract 的具体实现。

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

您可以创建如下存储在 redirects 表中的重定向

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

要了解如何扩展 Neurony\Redirects\Models\Redirect 模型的功能,请参阅 /config/redirects.php -> redirect_model 的注释

鸣谢

安全

如果您发现任何安全相关的问题,请通过电子邮件 andrei.badea@neurony.ro 联系我们,而不是使用问题跟踪器。

许可证

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

变更日志

有关最近变更的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING