Langages du Web – PHP (M2 CCI) Réécriture des URL Les fichiers
Transcription
Langages du Web – PHP (M2 CCI) Réécriture des URL Les fichiers
Sites statiques Réécriture des URL Réécriture des URL ▶ Langages du Web – PHP (M2 CCI) http ://...perso.luminy.univ-amu.fr http ://...perso.luminy.univ-amu.fr/aboutme.html Bertrand Estellon http ://...perso.luminy.univ-amu.fr/cv.html Aix-Marseille Université Département Informatique et Intéractions http ://...perso.luminy.univ-amu.fr/blog.html 17 janvier 2017 http ://...perso.luminy.univ-amu.fr/contact.html ▶ . Bertrand Estellon (AMU) . . . . . . . . . . . . . Langages du Web – PHP (M2 CCI) Sites statiques Nous souhaitons que les différentes pages aient les URL suivantes : . . . . . . . . . . . . . . . . . . . . 17 janvier 2017 . . . . . Nous souhaitons également qu’il ne soit pas possible d’exécuter ou d’accéder aux autres fichiers du répertoire . . 1 / 179 Bertrand Estellon (AMU) Réécriture des URL Sites statiques . . . . . . . . . . . . . Langages du Web – PHP (M2 CCI) . . . . . . . . . . . . . . . . . . Les fichiers .htaccess : Si le module de réécriture des règles est installé, on peut écrire dans le fichier .htaccess les lignes suivantes : ▶ doivent être placés dans des répertoires servis par le seveur . . . . RewriteEngine On RewriteRule ^$ index.php [END,QSA] RewriteRule ^(.*)\.html$ index.php ?page=$1 [END,QSA] RewriteRule ^(.*)$ - [L,R=404] Les utilisations possibles des fichiers .htaccess : ▶ interdire l’accès à des fichiers ▶ mettre en place des règles de réécriture pour les URL ▶ protéger l’accès à un répertoire ou un fichier par un mot de passe ▶ choisir les pages d’erreurs ▶ Ajouter des mime-types ▶ ... La syntaxe : RewriteRule Modèle Substitution [drapeaux] Dans les sous-répertoires : RewriteEngine Off . Bertrand Estellon (AMU) . Réécriture des URL Les fichiers .htaccess de configuration d’Apache permettent de définir des règles . 66 / 179 Les fichiers .htaccess de configuration d’Apache ▶ . . 17 janvier 2017 Langages du Web – PHP (M2 CCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 janvier 2017 . . . . . . . 67 / 179 . . Bertrand Estellon (AMU) Langages du Web – PHP (M2 CCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 janvier 2017 . . . . . . . 68 / 179 . Sites statiques Réécriture des URL Les fichiers .htaccess de configuration d’Apache La syntaxe : RewriteRule Modèle Substitution [drapeaux] Le modèle est une expression régulière : ▶ ^ : début de ligne ▶ $ : fin de ligne ▶ . : n’importe quel caractère ▶ ( ) : pour définir les $x dans la substitution Les drapeaux : ▶ END : termine le processus de réécriture pour ce répertoire ▶ QSA : conserve les chaîne de paramètres de l’URL de départ ▶ L : termine le processus de réécriture ▶ R=xxx : force une redirection avec un code de statut HTTP optionnel . Bertrand Estellon (AMU) Langages du Web – PHP (M2 CCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 janvier 2017 . . . . . . . 69 / 179 .