赵亚内克 / 重定向-laravel
轻松管理您的重定向。
Requires
- php: ^8.1
README
轻松管理您的重定向。此包提供了一种简单的方法将重定向工具集成到您的Laravel应用程序中。
工作原理
您可以在Laravel应用程序中管理重定向。安装后,您可以创建、编辑和删除重定向,无需安装其他包。
考虑了许多应用程序性能因素。工具缓存重定向信息,特别是源URL。对于每个对服务器的请求,中间件将运行,这将确定请求的URL地址是否未列入缓存。如果在这里找到,将查询数据库以找到目标URL地址。同时,将触发一个事件,并由相关的事件监听器处理存储额外的重定向信息。
别忘了运行 php artisan queue:work,php artisan horizon 或您使用的其他命令。
随着时间的推移,重定向可能会变得不再使用,或者完全不使用,数据库中的记录也将保留。对于这些情况,您可以安排一个命令来自动清理数据库中的未使用记录。
此外,该工具包括易于导入和导出重定向、重定向使用情况图等功能。
安装
源URL被缓存。请检查您的项目是否已配置缓存设置。您可以使用多个准备好的驱动程序(文件、Redis等)。包还需要至少 PHP 8.1。
迁移
首先,生成和自定义迁移文件。如果您想添加某些内容(例如 - 一些关系),这可能很有用。
php artisan vendor:publish --tag=redirections-migrations
配置文件
php artisan vendor:publish --tag=redirections-config
可选
视图
如果您想更改应用程序的设计,您可以生成视图。该工具包含几个针对不同CSS框架的预制模板。现在可用
- Bootstrap 4
- Bootstrap 5
- Tailwind CSS
php artisan vendor:publish --tag=redirections-views
翻译
您还可以生成翻译文件。
php artisan vendor:publish --tag=redirections-translations
带有重定向的修剪表
您可以修剪您的重定向表。有命令可以这样做
php artisan redirections:prune-database
或者您可以在您的内核文件中安排此命令(app/Console/Kernel.php)
protected function schedule(Schedule $schedule)
{
$schedule->command('redirections:prune')->dailyAt('8:00');
}
事件
如果有人使用重定向(即访问源URL),则会触发RedirectWasUsedEvent事件。因此,如果您需要,可以挂钩您自己的监听器。
Event::listen(\PavelZanek\RedirectionsLaravel\Events\RedirectWasUsedEvent::class, function ($event) { dd($event->redirect); });
待办事项
- ✅ 发布包
- ✅ 重定向列表 - 全文
- ✅ 重定向列表 - 分页
- ✅ 禁止编辑源URL
- ✅ 工厂
- ✅ 添加更多测试
- ✅ 导入/导出重定向
- ✅ Toasts/Flash Messages
- ⬜️ 正则表达式支持
- ✅ Bootstrap 5 CSS支持
- ✅ Tailwind CSS支持
- ⬜️ 更多关于重定向的信息(引用者等)
测试
工具包括几个测试,以便更容易地进行扩展。
安全
如果您发现了有关安全的bug,请通过zanek.pavel@gmail.com发送邮件,而不是使用问题跟踪器。
变更日志
有关最近更改的更多信息,请参阅变更日志。
许可证
版权所有 (c) Pavel Zaněk。采用 MIT 许可证,详细信息请见 LICENSE。