bogddan / redirector
一款易于管理的Laravel重定向包。
Requires
- php: ^8.2
- illuminate/contracts: ^10.0
- illuminate/database: ^10.0
- illuminate/support: ^10.0
Requires (Dev)
- orchestra/testbench: ^8.5
- phpunit/phpunit: ^10.0
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-15 14:44:00 UTC
README
Laravel的嵌套重定向
概述
此包允许您为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以获取详细信息。