J'utilise l'url rewriting pour mon serveur web. Je m'en sert pour par exemple faire monsite.web/ID=1 (= et pas ? car je le fait en .htaccess). Donc je peux avoir des url du style monsite.web/ID=1 jusqu'à monsite.web/ID=9 .
Situation :
monsite.web/ID=1 (montre le document 1)
monsite.web/ID=2 (montre le document 2)
monsite.web/ID=9 (montre le document 9)
Seulement si je veux en faire un avec monsite.web/ID=26 ça me montre le document 2 et monsite.web/ID=18 me montrera le document 1. Seulement, j'aimerais que monsite.web/ID=26 me montre le document 26.
Voici comment ça se présente dans mon .htaccess :
RewriteEngine On
RewriteRule ID=1 /document1
RewriteRule ID=2 /document2
RewriteRule ID=3 /document3
RewriteRule ID=4 /document4
pareil et pareil
RewriteRule ID=26 /document26
Eh bien je suis redirigé vers document2 . Une explication ? Surtout, si vous avez ou pensez avoir la résolution à mon problème n'hésitez pas à le dire ci dessous.
Il n'y a pas d'ancrage sur tes motifs ($ surtout) donc si tu mets ID=2 avant ID=26, c'est la première des 2 qui gagne parce que ID=2 ce n'est pas exactement la chaîne "ID=2" mais la contenir or on trouve bien la sous-chaîne ID=2 dans ID=26
Il faudrait commencer par maîtriser un minimum les expressions régulières parce que c'est ce qu'attend Apache en premier paramètre de RewriteRule et sans comprendre leur fonctionnement ça va être compliqué d'écrire des règles comme de véritablement en saisir toutes les possibilités.
Et au lieu d'avoir une règle par document, ça aurait été plus simple d'avoir une seule règle qui capture le nombre et le réutilise en destination : RewriteRule ID=(\d+) /document$1
Merci pour la technique RewriteRule ID=(\d+) /document$1, je viens littéralement de l'adopter ça me sauve. (Car je suis collégien et pour réviser au lieu de taper de longue url je tape ID=1 et ID=954 si je veux, et ça c'est cool pour réviser le matin dans le bus mdrrr.)
Merci beaucoup de ta rapidité et merci pour la résolution !
URL Rewriting Apache + de 9 ?
× 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.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli