lidai / laravel-redirects
Laravel 的嵌套 URL 重定向逻辑
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^9.0
README
概述
此包允许您为 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 lidai/laravel-redirects
使用以下命令发布配置文件
php artisan vendor:publish --provider="Lidai\Redirects\ServiceProvider" --tag="config"
使用以下命令发布迁移文件
php artisan vendor:publish --provider="Lidai\Redirects\ServiceProvider" --tag="migrations"
迁移发布后,您可以通过运行以下命令创建 redirects
表
php artisan migrate
使用
添加中间件
为了让重定向功能真正实现,您需要添加 Lidai\Redirects\Middleware\RedirectRequests
中间件。
转到 App\Http\Kernel
并将 Lidai\Redirects\Middleware\RedirectRequests
中间件添加到您选择的 $middlewareGroups
组中。
/** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' => [ ... \Lidai\Redirects\Middleware\RedirectRequests::class,
创建重定向
您永远不应该直接使用 Lidai\Redirects\Models\Redirect
,因为这将是 Lidai\Redirects\Contracts\RedirectModelContract
的默认具体实现。
直接使用 Lidai\Redirects\Models\Redirect
模型类将阻止您扩展模型的功能。
您可以创建存储在 redirects
表中的重定向,如下所示
app('redirect.model')->create([ 'old_url' => '/your-old-url', 'new_url' => '/your-new-url', 'status' => 301 ]);
有关如何扩展 Lidai\Redirects\Models\Redirect
模型的功能的详细信息,请参阅 /config/redirects.php -> redirect_model
的注释
致谢
安全
如果您发现任何与安全相关的问题,请通过电子邮件 lidai@jfmedier.dk 而不是使用问题跟踪器来联系 lidai@jfmedier.dk。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE。
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。