middlewares/redirect

PSR-15 中间件包的重定向仓库

v2.0.2 2024-07-11 18:23 UTC

This package is auto-updated.

Last update: 2024-09-11 18:48:48 UTC


README

Latest Version on Packagist Software License Testing Total Downloads

将旧网址重定向到新网址的中间件,SEO 友好。

需求

安装

此包可通过 Composer 以 middlewares/redirect 的方式安装和自动加载。

composer require middlewares/redirect

示例

Dispatcher::run([
	new Middlewares\Redirect(['/old-url' => '/new-url'])
]);

用法

您可以使用包含要重定向的网址的数组或扩展了 ArrayAccess 接口的对象,键是旧网址,值是新网址。

$redirections = [
	'/corporative-info' => '/about-us',
	'/post/2390' => '/post/new-psr15-middlewares',
];

$redirect = new Middlewares\Redirect($redirections);

可选地,您可以将 Psr\Http\Message\ResponseFactoryInterface 作为第二个参数提供,以创建重定向响应。如果未定义,则 Middleware\Utils\Factory 将自动检测。

$responseFactory = new MyOwnResponseFactory();

$redirect = new Middlewares\Redirect($redirections, $responseFactory);

永久

使用临时或永久重定向 HTTP 状态码进行响应。默认启用。

//Temporary redirections (302)
$redirect = (new Middlewares\Redirect($redirections))->permanent(false);

查询

在匹配重定向时考虑 URI 的查询部分。默认启用。

//Ignore url query
$redirect = (new Middlewares\Redirect($redirections))->query(false);

方法

此选项接受一个数组,包含允许的 HTTP 请求方法。(默认为:['GET']。)

//Redirects GET and HEAD requests
$redirect = (new Middlewares\Redirect($redirections))->method(['GET', 'HEAD']);

有关最近更改的更多信息,请参阅 变更日志,有关贡献详细信息,请参阅 贡献指南

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证