Je pense que vous êtes sur la bonne voie.
Une chose que je ne ferais pas comme vous l'avez dit, cependant, concerne cette partie :
Je ne pense pas que je créerais une Apache RewriteRule, ni utiliserais mod_rewrite
.
Lorsque vous recevez une URL courte, comme short.com/MYID
, je ferais :
- déchiffrer la partie "MYID" au numéro d'identification dans la base de données
- récupérer l'URL de la base de données
- il suffit de rediriger vers cette URL à partir d'un code de serveur (comme PHP, en utilisant le
header
fonction)
Un peu comme ça je suppose :
// fetch $urlFull from DB (corresponding to the MYID received in GET)
header('HTTP/1.x 301 Moved Permanently');
header('Location: ' . $urlFull);
die;
(edit) Si par mod_rewrite
vous vouliez dire "transformer short.com/MYID en short.com/id=MYID ", ah, oui, dans ce cas, bien sûr !
J'utilise quelque chose comme ça sur l'un de mes sites, btw :
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php?hash=$1 [L]
J'espère que cela vous aidera :-)