conversion de base de nombres en .htaccess

J’ai l’intention de faire une redirection d’URL du formulaire:

de:

domain.com/A 

dans

 domain.com/someResourse/id/10 

dans cette redirection, la base de l’identifiant passe de 16 à 10 .

Je me demande si cela est possible en utilisant .htaccess

Vous pouvez utiliser RewriteMap avec le mappage de programme externe (prg :). Ceci est une utilisation assez avancée de mod-rewrite et même de RewriteMap.

 RewriteLock /var/lock/rewritemaplock.lock RewriteMap base16to10 prg:/somewher/modrewritemapbase16to10.pl RewriteRule - ${base16to10:%{REQUEST_URI}} 

Et pour le script perl (ou tout autre langage), non testé

 #!/usr/bin/perl $| = 1; # Turn off I/O buffering while ($uri=) { sprintf("/someResourse/id/%d",hex($uri)); } 

Vous devrez peut-être tester et étendre le programme, au moins vous devez renvoyer la chaîne “NULL” en cas d’erreur. Vous devrez peut-être aussi append du RewriteCond avant d’appeler cette rewriteRule si une autre URL ne doit pas être convertie.

Vous pouvez utiliser d’autres langages pour le graveur de base 16 à 10, voici un exemple en PHP .

Il n’est pas possible de faire des calculs dans .htaccess. mais vous pouvez envoyer la demande à un script PHP (ou un autre langage) où vous faites le calcul, puis utilisez la fonction d’en-tête pour effectuer la redirection.