1. Go to this page and download the library: Download lazychanger/urlrewrite library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
lazychanger / urlrewrite example snippets
$request = (new UrlRewrite([
UrlRewriteRule::matchPath('/enter')->rewriteTo('/rewrite'),
]))->rewrite($request);
$request = (new UrlRewrite([
UrlRewriteRule::matchPath('/enter', true)->rewriteTo('/rewrite'),
]))->rewrite($request);
$request = (new UrlRewrite([
UrlRewriteRule::matchHost('example.com')->rewriteTo('/rewrite'),
]))->rewrite($request);
$request = (new UrlRewrite([
UrlRewriteRule::regMatchHost('{subdomain:[a-z]+}.example.com')
->regMatchPath('/user/{id:\d+}')
->rewriteTo('/rewrite/{subdomain}/{id}'),
]))->rewrite($request);
// add config/autoload/dependencies.php config
use Hyperf\HttpServer\Contract\CoreMiddlewareInterface;
use LazyChanger\UrlRewrite\Middleware\CoreMiddleware;
return [
CoreMiddlewareInterface::class => CoreMiddleware::class
];
// or add UrlRewrite code in app/Middleware/CoreMiddleware.php
class CoreMiddleware extends HyperfCoreMiddleware
{
protected UrlRewrite $rewrite;
public function __construct(ContainerInterface $container, string $serverName)
{
parent::__construct($container, $serverName);
// add UrlRewrite object
$this->rewrite = $this->container->get(UrlRewrite::class);
}
public function dispatch(ServerRequestInterface $request): ServerRequestInterface
{
return parent::dispatch($this->rewrite->rewrite($request));
}
}