|
blog actif depuis 774 jours.
retours d'expériences, codes sources, réflexions, humeurs... d'un webmaster |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Mer. 25 Juin L'URL Rewriting (ou réécriture d'url) est la méthode qui consiste à réécrire dynamiquement les urls de son site pour en faire des adresses lisibles, compréhensibles et contenant des termes significatifs.Ce concept est apparu après l'émergence des sites dynamiques, reconnaissables par le fait qu'ils intègrent dans leurs urls une suite d'arguments plus ou moins nombreux et souvent incompréhensibles. Ex : http://www.monsite.com/prod.php?id=5465&o=des&cp=5665SH&cat=7.... Cette adresse est illisible pour l'internaute, mais contient tous les arguments nécessaires au serveur pour l'affichage correct de la page. Le fait que l'internaute ne puisse pas la lire n'a à la rigueur pas trop d'importance. Par contre, pour un référencement optimal sur les moteurs de recherche, il est préférable que l'url contienne des mots clés, qu'elle ait un sens, une valeur sémantique Donc si on transforme l'url précédente en http://www.monsite.com/catalogue/consommable/cartouche-encre/epson/ on obtient une adresse lisible et qui a un sens, qui contient également les mots clés en rapport avec le contenu de la page. Il reste à indiquer à votre serveur que cette nouvelle adresse correspond en fait à l'adresse précédente. Mise en place sur un serveur apache La mise en place de l'URL Rewriting sur un serveur apache est simple, elle se fait en 3 étapes : 1 - activer le module rewrite dans votre configuration apache. Ce module s'appelle rewrite_module et est installé en général avec Apache. La fonction phpinfo() ; vous indiquera les modules installés. Si le module rewrite n'est pas dans la liste, il suffit en général de désactiver la ligne commençant par LoadModule rewrite_module dans le fichier httpd.conf et de redémarrer Apache. 2 - Indiquer à Apache où se trouvent les règles de réécriture En général, on place ces règles dans le fichier .htaccess., fichiers de configuration d'Apache, permettant de définir des règles pour un répertoire et ses sous-répertoires. Vérifiez donc que la configuration d'Apache vous permet l'utilisation de ce fichier.Vous pouvez également insérer vos règles directement dans la section répertoire (<directory>) de votre fichier httpd.conf 3 - écrire les règles de réécriture Les modifications du fichier .htaccess sont prises en compte à chaque redémarrage du serveur Apache. Il est donc conseillé de créer un répertoire de test dans lequel vous placerez votre .htaccess pour les tests. Contenu du fichier .htaccess Les directives minimum qui doivent être présentes sur votre fichier sont : RewriteEngine On|off Active ou désactive le moteur de réécriture RewriteRule motif substitution [flags] Définit une règle unique de réécriture de motif en substitution. Les règles sont écrites sous la forme d'expressions rationnelles. Il faut donc être familier avec ce mode d'écriture Les flags sont des commutateurs permettant d'indiquer comment doit réagir le serveur après la réécriture Les directives supplémentaires les plus courantes sont : RewriteBase BaseURL Définit l'url de base pour les réécritures. RewriteCond Test Pattern Définit une condition d'application de la règle. Elle précède la directive RewriteRule Vous pouvez placer plusieurs RewriteCond pour une règle. Quelques exemples d'utilisation: Réécriture de produit.php?id=12 en catalogue/imprimante-epson-stylus-c64/12.html RewriteEngine on La règle de réécriture ci dessus peut être lue comme ceci : Si l'url demandée
Interdire l'accès aux images en dehors du site RewriteEngine On Si l'url précédente (%{HTTP_REFERER}) n'est pas vide (!^$)et ne commence pas par http://www.monsite.com/ (le flag [NC] indiquant que la comparaison est insensible à la casse), alors, si l'url demandée :
Le flag [F] force le serveur à retourner une erreur HTTP 403 Vous pouvez placer des fichiers .htaccess dans plusieurs répertoires et sous répertoires pour y écrire des règles différentes. Les règles du sous répertoire remplacent alors celles du répertoire supérieur. (Si vous voulez ajouter des règles et non pas les remplacer, ajoutez RewriteOptions inherit juste après RewriteEngine on). De nombreuses docs existent en ligne sur la réécriture d'URLs mais la plus complète est celle du site de la fondation apache : http://httpd.apache.org/docs/2.2/fr/rewrite/
Commentaires
Ajouter un commentaire |
Webmaster depuis maintenant plus de 10 ans, j'ai créé ce blog pour publier mes retours d'expérience et parler du Web et du développement Web en général, mais aussi de plein d'autres choses...
romualb.com est sur Facebook
![]()
![]()
![]()
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Bonjour,
Je cherche de la documentation complète sur l'url rewriting ou la réécriture d'url.
J'aimerai trouver un tutoriel complet afin de mettre en place un système fiable et complet. J'ai essayé diverses techniques sur mon site mais aucune ne remplie toutes les conditions pour un bon référencement google.
Donc si vous connaissez un livre, ou de la doc complète, je vous en serai reconnaissant.
Merci d'avance.
26/08/2009