J'ai récemment réussi à simuler un véritable URL Rewriting chez free (pas quelque chose de forme domaine.free.fr/?/truc, on peut avoir de vraies URL comme domaine.free.fr/page-1-2.html, enfin vu de l'extérieur on ne voit pas la différence).
La technique que j'utilise, je ne l'ai pas inventée entièrement, elle doit sûrement se trouver ailleurs et en plus elle est bien trop courte et "T&A" pour faire un tutoriel. Cependant comme je suis bien content du résultat je me suis dit pourquoi pas l'envoyer ici, au pire tout le monde s'en fichera mais peut-être que ça servira à qqun
Voici donc :
1 : Créer un .htaccess réel à la racine du serveur
L'idée est d'utiliser la directive "ErrorDocument" (les connaisseurs s'en seront doutés).
Donc on crée un vrai .htaccess et on y place le code suivant :
ErrorDocument 404 /libfakerewrite.php
# Evidemment les noms de fichiers peuvent être adaptés
2 : Créer le fichier /libfakerewrite.php et le fichier de réécriture
Ce fichier est chargé par le serveur à chaque erreur 404 levée. Par exemple si on envoie, grosso modo, un GET /page-1.html alors qu'il n'existe qu'un page.php sur le serveur, on aura un 404 ...
Ce fichier contient le code suivant (masqué car long) :
Le principe ici, c'est que le fichier libfakerewrite.php va retrouver l'URI demandée au serveur et la passer à travers des regex pour vérifier si elle correspond à une règle définie dans le fichier REWRITING_DEFINITIONS_FILE (ici /.rewriting). Dans ce fichier, vous pouvez écrire vos règles de ré-écriture comme dans un .htaccess normal (je crois qu'il manque des flags mais ça suffit largement à une utilisation classique).
Donc si l'URI demandé au serveur (REQUESTED_URI) correspond à une règle, alors on décortique la règle pour savoir vers quelle page existante pour de vrai on renvoie le visiteur.
3 : C'est fini. Avantages/inconvénients
Voilà, c'est fini. Cela fonctionne sur les serveurs de free sans souci (normalement).
Avantages : tous ceux de l'URL-rewriting.
Inconvénients : chaque URL modifiée demande au serveur de lever un 404, de mouliner la query string dans deux fichiers différents dont l'un, libfakerewrite.php, doit utiliser des regex ... on perd clairement en temps d'éxecution. A réserver à la "vitrine" donc, pas aux tâches internes au site ...
Il peut tout à fait y avoir un truc que j'aie oublié ou pas remarqué Dites le dans ce cas, ça fera avancer le bouzin.
Rien que sur le SDZ on trouve deux autres méthodes poru faire du rewriting chez free. Mais bon, ce post est surtout motivé par ma grande joie d'avoir réussi à adapter des trucs pris de ci de là
Juste pour t'informer qu'un tutorial existe déja pour ça
Maintenant je ne sais pas si les deux fonctionnne de la même façon ou si il y a des différences.
Et si il y a des différences, je ne peux te dire lequel est le mieux pour ça
URL Rewriting chez Free
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.