middlewares / redirect
PSR-15 中间件包的重定向仓库
v2.0.2
2024-07-11 18:23 UTC
Requires
- php: ^7.2 || ^8.0
- middlewares/utils: ^3.0 || ^4.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- laminas/laminas-diactoros: ^2.3
- oscarotero/php-cs-fixer-config: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8|^9
- squizlabs/php_codesniffer: ^3.0
README
将旧网址重定向到新网址的中间件,SEO 友好。
需求
- PHP >= 7.2
- PSR-7 http 库
- PSR-15 中间件分发器
安装
此包可通过 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)。有关更多信息,请参阅 许可证。