Мисля, че сте на прав път.
Едно нещо, което не бих направил, както казахте обаче, е за тази част:
Не мисля, че бих създал Apache RewriteRule, нито бих използвал mod_rewrite
.
При получаване на кратък URL адрес, като short.com/MYID
, Id би :
- дешифрирайте частта „MYID“ до идентификационния номер в DB
- извличане на URL адреса от базата данни
- просто пренасочвайте към този URL от някакъв сървърен код (като PHP, като използвате
header
функция)
Предполагам, че малко по този начин :
// fetch $urlFull from DB (corresponding to the MYID received in GET)
header('HTTP/1.x 301 Moved Permanently');
header('Location: ' . $urlFull);
die;
(редактиране) Ако от mod_rewrite
имахте предвид „трансформирайте short.com/MYID в short.com/id=MYID ", о, да, в този случай, разбира се!
Използвам нещо подобно на един от моите сайтове, между другото :
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php?hash=$1 [L]
Надявам се това да помогне :-)