settermjd/regex-redirector

0.0.3 2017-07-27 11:58 UTC

This package is auto-updated.

Last update: 2024-09-19 07:30:43 UTC


README

这是一个简单的包,简化了在URL中搜索和替换模式以执行重定向的过程。它并不复杂。

安装

要安装此模块,请运行composer require settermjd/regex-redirector

入门

构造函数接受两个参数

  1. 一个数组。这是一个简单的键/值列表,包含要查找的模式以及要替换的模式
  2. 当前请求的URL。

该包提供了两个函数

  • requiresRedirect():检查请求的URL是否需要重定向
  • getRedirectUrl():检索当前请求应重定向到的URL

如果您只想测试,请使用第一个,如果您想进行重定向,请使用第二个,它内部使用第一个。

初始化对象后,将getRedirectUrl()的返回值传递给PHP的header函数,如下例所示,请求将被重定向。

<?php

require_once('vendor/autoload.php');

$redirectList = [
    'configuration_server' => 'configuration/server'
];

$requestUrl = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

$redirector = new RegexRedirector\Redirector($redirectList, $requestUrl);

if ($redirector->requiresRedirect()) {
    header(sprintf('Location: %s', $redirector->getRedirectUrl()));
    exit;
}

运行测试

要运行单元测试,请运行composer test