PHP code example of lazychanger / urlrewrite

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));
    }
}
shell
composer erf vendor:publish lazychanger/urlrewrite