logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:reseau:apache2:redirection [08/11/2015 18:24]
trebmuh [Utilisation]
doc:reseau:apache2:redirection [30/05/2023 08:30] (Version actuelle)
lagrenouille [Découverte par l'exemple de redirection apache2]
Ligne 1: Ligne 1:
-====== ​Titre de Votre Tuto ======+====== ​Découverte par l'​exemple ​de redirection apache2 ​======
  
   * Objet : Découverte par l'​exemple de redirection apache   * Objet : Découverte par l'​exemple de redirection apache
-  * Niveau requis : {{tag>​débutant}}+  * Niveau requis : {{tag>​débutant ​avisé}}
   * Commentaires : //vous avez un site déjà en ligne et vous voulez appliquer une redirection d'une page vers une autre page. //   * Commentaires : //vous avez un site déjà en ligne et vous voulez appliquer une redirection d'une page vers une autre page. //
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>​en-chantier à-placer à-compléter à-corriger }} +  * Suivi : 
     * Création par [[user>​trebmuh]] 08/11/2015     * Création par [[user>​trebmuh]] 08/11/2015
     * Testé par [[user>​trebmuh]] le 08/11/2015     * Testé par [[user>​trebmuh]] le 08/11/2015
   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=145833 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=145833 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
- +  ​{{tag>à-placer}}
-**Nota :** +
- +
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !+
  
 ===== Introduction ===== ===== Introduction =====
  
-Alors vala, je cherchais sur debian-facile un genre de doc : "OK, alors t'y connais rien et tu veux que lorsqu'​un utilisateur clique sur un lien %%http://​tonsite.fr/​moulin/​parlà%% dans une des pages de ton site (qui est déjà en ligne), il soit automatiquement redirigé vers %%http://​tonsite.fr/​cuisine/​cestici%% ? Voici la redirection apache à appliquer."​ ... et, malheur de malheur, y'en avait pas :-/ \\ +Alors vala, je cherchais sur debian-facile un genre de doc : "OK, alors t'y connais rien et tu veux que lorsqu'​un utilisateur clique sur un lien ''​%%http://​tonsite.fr/​moulin/​parlà%%'' ​dans une des pages de ton site (qui est déjà en ligne), il soit automatiquement redirigé vers ''​%%http://​tonsite.fr/​cuisine/​cestici%%'' ​? Voici la redirection apache à appliquer."​ ... et, malheur de malheur, y'en avait pas :-/ \\ 
-Heureusement pour moi, il y avait un m31z0nyx qui traînait ses guêtres sur le canal IRC de debian-facile et qui lui, savait comment faire ça.+Heureusement pour moi, il y avait un m31z0nyx qui traînait ses guêtres ​[[:​asso:​salon-irc-df|sur le canal IRC de debian-facile]] et qui lui, savait comment faire ça.
  
 Allez zou, assez parlé de ma vie, voici le tuto. Allez zou, assez parlé de ma vie, voici le tuto.
Ligne 23: Ligne 20:
 ===== Installation ===== ===== Installation =====
  
-Il faut avoir un site en ligne avec un apache fonctionnel (et le greffon "​rewrite"​ installé) et allez chopper en édition le .htaccess, c'est dans ce fichier que se font les redirections.+Il faut avoir un site en ligne avec un [[:​doc:​reseau:​apache2:​multisite|apache fonctionnel]] (et le greffon "​rewrite"​ installé) et allez chopper en édition le .htaccess, c'est dans ce fichier que se font les redirections.
  
  
 ===== Utilisation ===== ===== Utilisation =====
  
-Donc, résumons la demande : j'ai une page qui s'​affiche et qui contient le lien %%http://​tonsite.fr/​moulin/​parlà% +Donc, résumons la demande : j'ai une page qui s'​affiche et qui contient le lien ''​%%http://​tonsite.fr/​moulin/​parlà%%''​ 
-et je veux qu'​elle redirige vers : %%http://​tonsite.fr/​cuisine/​cestici%%+et je veux qu'​elle redirige vers : ''​%%http://​tonsite.fr/​cuisine/​cestici%%''​
  
 Nous allons donc utiliser une règle apache de ré-écriture d'​adresse : Nous allons donc utiliser une règle apache de ré-écriture d'​adresse :
Ligne 36: Ligne 33:
   * ^ = début de la chaîne de caractère   * ^ = début de la chaîne de caractère
   * $ = fin de la chaîne de caractère   * $ = fin de la chaîne de caractère
-  * R =+  * R = redirige / redirection
   * NC = non-sensible à la casse((c'​est à dire : ne fait pas de différence entre les majuscules et les minuscules))   * NC = non-sensible à la casse((c'​est à dire : ne fait pas de différence entre les majuscules et les minuscules))
   * L = "​Dernier"​((en ninngliche : "​**L**ast"​)) - arrête de lire les autres règles   * L = "​Dernier"​((en ninngliche : "​**L**ast"​)) - arrête de lire les autres règles
 <​note>​Plusse d'​information : [[http://​www.cheatography.com/​davechild/​cheat-sheets/​mod-rewrite/​]] (en ninngliche).</​note>​ <​note>​Plusse d'​information : [[http://​www.cheatography.com/​davechild/​cheat-sheets/​mod-rewrite/​]] (en ninngliche).</​note>​
  
-__Remarque 1__ : on pourrait se dire que le L va mettre le foin car il va empêcher la lecture des autres règles. Mais non, car on demande à ce que le client refasse sa requête et donc il faut que çà s'​arrête là. Cette règle renvoie une réponse au client, donc continue ​à traiter ... et le navigateur client voit arriver une première réponse qui lui dit "hey, c'est plus ici, maintenant c'est à <​nouvelle_url>"​ et donc, le client refait une requête sur <​nouvelle_url>​ et là, la règle de redirection ne correspond plus, par contre d'​autres règles plus loin dans le .htaccess peuvent correspondre.+===Remarque 1===   
 +On pourrait se dire que le L va mettre le foin car il va empêcher la lecture des autres règles. Mais non, car on demande à ce que le client refasse sa requête et donc il faut que ça s'​arrête là.\\ 
 +Cette règle renvoie une réponse au client, donc il ne faut pas continuer ​à traiter... et le navigateur client voit arriver une première réponse qui lui dit "hey, c'est plus ici, maintenant c'est à <​nouvelle_url>"​ et donc, le client refait une requête sur <​nouvelle_url>​ et là, la règle de redirection ne correspond plus, par contre d'​autres règles plus loin dans le .htaccess peuvent correspondre.
  
-__Remarque 2__ : il faut étudier les autres règles du .htaccess car l''ordre des règles influe.+===Remarque 2===  
 +Il faut étudier les autres règles du .htaccess car l'​ordre des règles influe.
  
-__Remarque 3__ : si la redirection doit être "​permanente",​ il faut remplacer le **R** par **R=301**. "​Permanente",​ c'est à  dire que le navigateur (ou moteur de recherche ou autre) doit conserver l'url cible. Donc, au coup suivant, avec une redirection permanente le navigateur demandera directement la cible. +===Remarque 3=== 
-L'​inverse de "​permanente"​ est "​temporaire",​ cas où le navigateur doit conserver l'​adresse initiale. Avec une redir temporaire, il suffit de retirer la règle du .htaccess et on retrouve l'​ancienne url.+Si la redirection doit être "​permanente",​ il faut remplacer le **R** par **R=301**. "​Permanente",​ c'est à  dire que le navigateur (ou moteur de recherche ou autre) doit conserver l'url cible. Donc, au coup suivant, avec une redirection permanentele navigateur demandera directement la cible.\\ 
 +L'​inverse de "​permanente"​ est "​temporaire",​ cas où le navigateur doit conserver l'​adresse initiale. Avec une redirection ​temporaire, il suffit de retirer la règle du .htaccess et on retrouve l'​ancienne url.
  
-__Remarque 4__ : la prise en compte est normalement immédiate car le serveur apache vérifie le fichier .htaccess à chaque requête. Ceci dit, il faut faire attention aux caches des navigateurs/​moteurs-de-recherche/​... +===Remarque 4=== 
-<​note>​À titre d'​exemple,​ avec Iceweasel, il faut faire un Ctrl+Shift+Suppr et cocher "​cache"​ puis cliquer sur le bouton "​Effacer maintenant"​.</​note>​+La prise en compte est normalement immédiate car le serveur apache vérifie le fichier .htaccess à chaque requête. Ceci dit, il faut faire attention aux caches des navigateurs/​moteurs-de-recherche/​... 
 +<​note>​À titre d'​exemple,​ avec Iceweasel, il faut faire un <key>Ctrl+Shift+Suppr</​key> ​et cocher ​la case "​cache"​ puis cliquer sur le bouton "​Effacer maintenant"​.</​note>​
  
-__Remarque 5__ : une façon rapide de tester que la redirection est bien prise en compte est d'​utiliser **wget** car il indique les redirections.+===Remarque 5===  
 +Une façon rapide de tester que la redirection est bien prise en compte est d'​utiliser **wget** car il indique les redirections.
  
-__Remarque 6__ : il peut être intéressant (à des fins de testage) de mettre la redirection en premier dans le htaccess pour voir si elle fonctionne bien. Ceci dit, il faut faire attention car ça peut mettre le souk ailleurs..+===Remarque 6=== 
 +Il peut être intéressant (à des fins de testage) de mettre la redirection en premier dans le .htaccess pour voir si elle fonctionne bien. Ceci dit, il faut faire attention car ça peut mettre le souk ailleurs..
  
doc/reseau/apache2/redirection.1447003498.txt.gz · Dernière modification: 08/11/2015 18:24 par trebmuh

Pied de page des forums

Propulsé par FluxBB