bernhardh / nova-redirect-tester
一个 Laravel Nova 工具。
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2023-06-23 15:19:14 UTC
README
这是一个 laravel nova 工具,您可以使用它来直观地测试所有重定向是否按预期工作。
目录
为什么我应该使用这个软件包?
如果您有很多旧 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_tester
和 nova_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 |
这将产生以下结果