赵亚内克/重定向-laravel

轻松管理您的重定向。

1.0.2 2022-08-15 22:43 UTC

This package is auto-updated.

Last update: 2024-09-16 03:23:51 UTC


README

轻松管理您的重定向。此包提供了一种简单的方法将重定向工具集成到您的Laravel应用程序中。

  1. 工作原理
  2. 安装
  3. 可选
  4. 修剪表
  5. 事件
  6. 待办事项
  7. 测试
  8. 安全
  9. 变更日志
  10. 许可证

工作原理

您可以在Laravel应用程序中管理重定向。安装后,您可以创建、编辑和删除重定向,无需安装其他包。

考虑了许多应用程序性能因素。工具缓存重定向信息,特别是源URL。对于每个对服务器的请求,中间件将运行,这将确定请求的URL地址是否未列入缓存。如果在这里找到,将查询数据库以找到目标URL地址。同时,将触发一个事件,并由相关的事件监听器处理存储额外的重定向信息。

别忘了运行 php artisan queue:workphp 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