Dica php/apache encurtando urls

Esse assunto tem sido abordado muito recentemnente. Sabemos que existem encurtador de URLS como bit.ly e outos mas suas apis são pagas.
Segue hoje um exemplo de como criar seu próprio encurtador:

Acreditando que o apache da sua hospedagem permite a leitura automática de arquvo .htaccess, vamos criar esse arquivo dentro de seu domínio ou em uma pasta existente ou na pasta raíz permitindo ao apache que rescreva a URL digitada em seu domínio, como se segue:
.htaccess

RewriteEngine on
RewriteRule ^([A-Za-z0-9]+) index.php?item=$1 [QSA]

A primeira linha indica a permissão para reescrita.
A Segunda linha interpretamos com uma expressão regular o que foi digitado na parte logo após o domínio e redirecionamos para a página index.php passando esse valor como parâmetro para que seja capturado e tratado o respectivo valor.

index.php
<?php
$get=filter_input(INPUT_GET, 'item');
if ($get != NULL && trim($get)!='' && $get != 'index') 
    echo "parâmetro item={$get}"; //aqui vc faz seu redirecionamento.
else   echo "Não foi passado parâmetros";

echo '<br>Executou index.php';

Linha 1: Capturamos o valor passdo via GET. Porque não usar $_GET? Simples, por segurança não se deve usar $_GET.
linha 2: Testamos o pagrâmetro passado para que seja tratado a gosto.

Segue o exemplo:
https://iwh.tec.br/1a2b3c

O REGISTRO.BR dia 20/07/2020 as 19h00 liberou vários domínios novos, eu tentei criar um com 2 letras mas todos com 2 letras estavam já é concorrência, mas consegui criar um com 3 letras, somente para usar url encurtada, para enviar links em emails, downloads e redirecionamentos.

Aproveitando vou deixar uma função aqui para gerar keys que podem ser salvas no banco de dados como chave para buscar a URL de destino:

método para criar Key para ser usada em url curta

<?php
define('CHARVALIDATE','0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'); //vc pode mudar as posições dos caracteres
function shortKeyId($id, $charVal = CHARVALIDATE)
{   //$d deve ser um inteiro
    $len = strlen($charVal);
    $charVal = str_split($charVal);
    $return = '';
    while($id > $len - 1)
    { 
        $return .= $charVal[fmod($id, $len)];
        $id = floor( $id / $len );
  }
  return $charVal[$id] . $return;
}

echo "resultado=".shortKeyId(3000000000000);

Pelos teste com esse método conseguimos 3 trilhões de registros (combinações únicas) de urls com uma key de apenas 7 caracteres