ufxdcollective / url-redirection
一个简单的Laravel模块,用于在用户访问不可用的URL时进行重定向。
dev-master
2019-12-26 23:30 UTC
This package is auto-updated.
Last update: 2024-09-27 10:32:39 UTC
README
一个简单的Laravel模块,用于在用户访问不可用的URL时进行重定向。
使用此模块进行SEO优化或展示用户到代表旧的非现有(现在不再存在)URL的新URL。重定向可以是内部或外部URL之一。因此,您也可以使用此模块来缩短长URL。
如何启用重定向模块。
首先,您需要使用composer安装此包,然后更新一些应用程序代码以启用它。请注意,此包已启用Laravel自动发现。因此,您无需担心加载服务提供程序。
安装包
在项目根目录中运行此命令以将其安装到您的项目中。我们使用composer来完成此任务。
composer require ufxdcollective/url-redirection
将所需表迁移到数据库中。
运行此命令以迁移此包工作所需的数据库表。
php artisan migrate
如果您需要,也可以发布迁移并进行更新。
设置
更新文件 app/Exceptions/Handler.php
中的 render(...)
方法,如下所示。其余的将由重定向模块本身处理。
public function render($request, Exception $exception)
{
// Redirection Module ------------------
$redirect = Redirector::redirects($request, $exception);
if($redirect) return $redirect;
// --------------------------------------------
return parent::render($request, $exception);
}
注意
此包不包含用于将重定向映射保存到数据库中的视图或控制器,因此为了创建接口,您必须自己完成这项工作。
在将其保存到数据库之前,不要忘记使用 Redirector::filterURL($url)
对 from_url
进行过滤。
以下是一个代码片段,说明您如何使用模型来存储URL重定向映射。
use \UFXDCollective\URLRedirection\Redirector;
use \UFXDCollective\URLRedirection\Models\UrlRedirect;
// ...
// ...
$from_url = $request->input('from_url');
// Filter $from_url for better url consistency
$from_url = Redirector::filterURL($from_url);
// You don't need to filter the $to_url
$from_url = $request->input('from_url');
$urlRedirect = new UrlRedirect([
'from_url' => $from_url,
'to_url' => $to_url,
'method' => 301,
'is_enabled' => true,
]);
$urlRedirect->save();
// ...