tofandel / laravel-redirects
Laravel的嵌套URL重定向逻辑
Requires
- php: ^7.3|^8.0
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- illuminate/database: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5.0
This package is auto-updated.
Last update: 2024-09-20 16:01:33 UTC
README
Laravel的嵌套重定向
概述
此包允许您为Laravel应用程序创建简单或多个嵌套重定向。
当您的应用程序中有URL可能被修改时,此包可以从SEO角度非常有用。
动态重定向逻辑示例
-
假设您有一个名为
/original的URL -
您从
/original重定向到/modified访问
/original将重定向到/modified -
您从
/modified重定向到/modified-again访问
/modified将重定向到/modified-againAND
访问/original将重定向到/modified-again -
您从
/modified-again重定向到/modified-yet-again访问
/modified-again将重定向到/modified-yet-againAND
访问/modified将重定向到/modified-yet-againAND
访问/original将重定向到/modified-yet-again -
您从
modified-yet-again重定向到/original访问
/modified-yet-again将重定向到/originalAND
访问/modified-again将重定向到/originalAND
访问/modified将重定向到/original
安装
通过Composer安装包
composer require Tofandel/laravel-redirects
使用以下命令发布配置文件
php artisan vendor:publish --provider="Tofandel\Redirects\ServiceProvider" --tag="config"
使用以下命令发布迁移文件
php artisan vendor:publish --provider="Tofandel\Redirects\ServiceProvider" --tag="migrations"
迁移发布后,您可以通过运行以下命令创建 redirects 表
php artisan migrate
使用
添加中间件
为了让重定向功能真正发生,您需要添加 Tofandel\Redirects\Middleware\RedirectRequests 中间件。
前往 App\Http\Kernel 并在您的 $middlewareGroups 组中选择添加 Tofandel\Redirects\Middleware\RedirectRequests 中间件。
/** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' => [ ... \Tofandel\Redirects\Middleware\RedirectRequests::class,
创建重定向
您绝对不应该直接使用 Tofandel\Redirects\Models\Redirect,因为这将是 Tofandel\Redirects\Contracts\RedirectModelContract 的默认具体实现。
直接使用 Tofandel\Redirects\Models\Redirect 模型类将阻止您扩展模型的功能。
您可以通过以下方式创建将存储在 redirects 表中的重定向
app('redirect.model')->create([ 'old_url' => '/your-old-url', 'new_url' => '/your-new-url', 'status' => 301 ]);
要了解如何扩展 Tofandel\Redirects\Models\Redirect 模型的能力,请参阅 /config/redirects.php -> redirect_model 的注释
鸣谢
安全
如果您发现任何安全相关的问题,请通过电子邮件 tofandel@tukan.hu 而不是使用问题跟踪器。
许可证
MIT许可证(MIT)。请参阅 LICENSE 以获取更多信息。
更新日志
请参阅 CHANGELOG 了解最近发生了什么变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。