Dans le cours : PHP : L'architecture MVC
Appréhender le fichier .htaccess - Tutoriel PHP
Dans le cours : PHP : L'architecture MVC
Appréhender le fichier .htaccess
Dans cette vidéo, nous allons aborder le fichier .htaccess. Le fichier .htaccess va nous permettre de passer des instructions à Apache. Dans le cas de notre projet, nous allons l'utiliser pour faire ce qu'on appelle de la réécriture d'URLs. Déjà, pourquoi est-ce qu'il faut réécrire ces URLs ? Ça va être important, dans un premier temps, de les réécrire pour permettre d'en avoir des plus lisibles, aussi bien pour nous en tant qu'êtres humains que pour les robots qui vont crawler le site pour le référencer. La réécriture d'URLs, ce sera aussi important parce que ça va permettre d'avoir des URLs qui seront mieux référencées. Si vos URLs sont réécrites, vous aurez la possibilité d'y mettre des mots-clés qui permettront de mieux référencer vos pages par rapport à vos sites concurrents. À quoi ressemble une URL qui est simplifiée ? Pour ça, je vais vous afficher une URL classique. Par exemple, voici une URL classique ici, http://localhost. C'est l'adresse locale du serveur, le nom de notre projet, et voici notre URL ici, index.php? action=TestController/Add. Ça, c'est l'URL. Il faut avouer que cette URL-là n'est pas hyper compréhensible. Honnêtement, en lisant ça, un robot ne va pas forcément comprendre de quelle page il s'agit. Même pour nous, en tant qu'êtres humains, cette URL est un peu complexe à comprendre. Donc l'objectif va être de la réécrire de façon un peu plus propre. Pour ça, je vais vous mettre un exemple d'une URL qui a été simplifiée. Là, vous avez la même URL avec l'adresse du domaine, donc localhost, et le nom du dossier, de notre projet. Vous voyez que là, on met un slash. On appelle directement le contrôleur et ensuite la méthode du contrôleur à appeler. Vous voyez, c'est une façon de réécrire l'URL pour avoir quelque chose de plus propre au niveau des URLs. Il faut savoir que l'URL simplifiée, normalement c'est un module d'Apache qui est installé sur le serveur par défaut, mais ça peut arriver qu'il ne soit pas installé. C'est très rare mais, dans la majorité des cas, c'est un module d'Apache qui est installé sur le serveur et qu'il faut juste appeler. On va essayer de voir ici quelques règles de réécriture d'URLs. Lorsque vous allez vouloir mettre en place une réécriture d'URL, dans un premier temps, vous allez devoir activer l'URL simplifiée. C'est-à-dire que l'URL simplifiée est activée sur le serveur mais, dans le fichier que vous allez utiliser, en général c'est le .htaccess, quand vous allez l'appeler pour réécrire les URLs, dans un premier temps il faudra d'abord activer cette réécriture dedans. Pour ça, vous allez utiliser la commande RewriteEngine que vous allez passer à On. Ensuite, pour réécrire une URL, pour mettre en place une règle d'écriture, vous allez appeler la commande RewriteRule, qui va permettre de mettre en place votre logique de réécriture d'URL. Comment fonctionne RewriteRule ? Là, je vous ai affiché deux URLs. La première, c'est une règle d'écriture qui va permettre de mettre en place une réécriture d'URLs. On va essayer de comprendre comment ça marche. Dans le .htaccess, vous allez appeler Rewrite Rule et ici, on va lui passer ces deux paramètres. Le premier paramètre qu'on va lui passer, c'est la chaîne d'origine. Qu'est-ce que la chaîne d'origine ? C'est la chaîne qu'on va vouloir modifier, c'est celle qui ne convient pas et qu'on aimerait donc réécrire différemment. Et on va passer la chaîne d'origine, c'est le deuxième paramètre, celui-ci, qui sera une expression régulière. L'expression régulière, ça va tout simplement être la structure de remplacement. C'est-à-dire qu'on va mettre en place une chaîne qui va remplacer la chaîne d'origine. On ne va pas directement taper le nom de la chaîne. On va mettre en place une expression régulière qui va permettre d'autoriser les caractères de la chaîne de remplacement. Je vous ai montré un exemple juste en dessous. Ici, vous avez la chaîne d'origine, c'est index.php? action=data. Data, c'est ce qu'on tapera ici, ce sera le nom du contrôleur et celui de la méthode. Ce que j'aimerais, c'est ne pas taper ça. Mais je voudrais remplacer ma chaîne d'origine par une chaîne qui correspond à cette expression régulière, donc qui va autoriser les caractères de A à Z en minuscules et en majuscules, les chiffres de 0 à 9, les " _ ", les " - " et les " / ". Là, on vient de voir la partie théorique par rapport à la réécriture d'URLs et, dans une prochaine vidéo, nous verrons comment le faire de façon pratique.