bernhardh/nova-redirect-tester

该软件包已被废弃且不再维护。未建议替代软件包。

一个 Laravel Nova 工具。

0.1.0 2020-09-23 08:35 UTC

This package is auto-updated.

Last update: 2023-06-23 15:19:14 UTC


README

这是一个 laravel nova 工具,您可以使用它来直观地测试所有重定向是否按预期工作。

Animate

目录

  1. 为什么我应该使用这个软件包?
  2. 安装
  3. 创建测试
  4. 编辑组
  5. 示例

为什么我应该使用这个软件包?

如果您有很多旧 URL 被重定向到新 URL(例如,您更改了 URL 结构,迁移到 Laravel 或引入了新的语言特定 URL)并且您正在使用 Laravel Nova,那么这个软件包可以帮助您关注这些重定向。

这特别重要,可以防止错误的重定向,以保持您的访问者和 SEO 权力。

安装

您可以通过 composer 将软件包安装到使用 Nova 的 Laravel 应用程序中

composer require bernhardh/nova-redirect-tester

之后,运行内置迁移,这将创建 2 个表

  • nova_redirect_tester:这是测试表
  • nova_redirect_tester_groups:通过这个,您可以分组您的测试
php artisan migrate

现在您必须使用 Nova 注册工具。这是在 NovaServiceProvider 的工具方法中完成的。

// file app/Providers/NovaServiceProvider.php

public function tools()
{
    return [
        // ...
        \Bernhardh\NovaRedirectTester\NovaRedirectTester::make()
    ];
}

现在您将在 Nova 侧边栏中找到重定向测试菜单项。目前还没有测试,请继续阅读以了解如何创建新测试。

创建测试

您可以通过自己填充两个数据库表 nova_redirect_testernova_redirect_tester_groups(例如,使用 phpmyadmin)或使用 Nova 来管理。最简单的方法是创建两个 Nova 资源,通过扩展软件包 nova 资源

<?php
// File app/Nova/RedirectTestGroup

namespace App\Nova;

class RedirectTestGroup extends \Bernhardh\NovaRedirectTester\Nova\RedirectTestGroup {}
<?php
// File app/Nova/RedirectTest

namespace App\Nova;

class RedirectTest extends \Bernhardh\NovaRedirectTester\Nova\RedirectTest {}

现在您可以像添加任何其他 nova 资源一样添加一个新测试。

编辑组

默认情况下,组资源在您的侧边栏中是隐藏的。您可以通过将 public static $displayInNavigation = true; 添加到您的 App\Nova\RedirectTestGroup 类来更改这一点。

示例

如果您想尝试它,只需将以下路由添加到您的 routes/web.php

// routes/web.php
Route::get('cms/categories/articles/{article}.htm', function($article){
    return redirect('articles/' . $article);
});
Route::get('static-site/{article}.html', function($article){
    return redirect('articles/' . $article);
});
Route::get('articles/{article}', function($article){
    return '<h1>' . $article . '</h1>';
});

然后在新版中添加以下 重定向测试

状态码 来源 URL 目标 URL
文章 301 /cms/categories/articles/my-first-article.htm /articles/my-first-article
文章 301 /cms/categories/articles/the-2-article.htm /articles/the-2-article
文章 301 /static-site/prices /articles/prices
默认 404 /this-url-does-not-exist
默认 301 /my-old-url /this-test-will-fail

这将产生以下结果

image