DirectoryIndex vers une url réécrite... possible ?

Discussion dans 'URL Rewriting et .htaccess' créé par tainjenchie, 29 Novembre 2012.

  1. tainjenchie
    tainjenchie Nouveau WRInaute
    Inscrit:
    29 Novembre 2012
    Messages:
    4
    J'aime reçus:
    0
    Bonjour,
    je suis fraichement formé aux techniques de réalisation d'un site web dynamique.
    Je viens de découvrir naturellement l'url rewriting que je n'avais pas vu en formation. J'ai lu quelques tutos, fais quelques exos concluants mais, visiblement, il y a quelque chose que je ne comprends pas :
    Je viens de créer un fichier .htaccess à la racine de mon site (plus exactement, dans le répertoire "new" dans lequel je développe la prochaine version de mon site)(contenu du fichier à la fin de ce message).
    Ce fichier contient trois parties.
    - la 1ère partie qui réécrit les url fonctionne très bien.
    - la seconde qui tente de redéfinir l'index du répertoire en lui substituant une url réécrite ne fonctionne pas (laissant libre accès au contenu du répertoire aux l'internautes).
    - quand à la troisième qui tentait de faire des redirections permanentes des anciennes pages du site (pas présentes physiquement dans le répertoire), j'ai dû la passer en commentaire car non seulement elle ne fonctionnait pas mais elle empêchait l'url rewriting de fonctionner !!!
    Quelqu'un pourrait-il m'aider ?
    Merci d'avance
    CONTENU DE MON .HTACCESS :
    _________________________________________________

    #--------------------------------------------------
    # Réécriture des url
    #--------------------------------------------------

    RewriteEngine on

    RewriteRule ^site\-officiel\.html$ a.php?page=1 [L]

    RewriteRule ^nom\-de\-la\-page\-2\.html$ b.php?page=2 [L]

    RewriteRule ^nom\-de\-la\-page\-3\.html$ b.php?page=3 [L]

    RewriteRule ^nom\-de\-la\-page\-4\.html$ b.php?page=4 [L]

    RewriteRule ^nom\-de\-la\-page\-5\.html$ b.php?page=5 [L]

    RewriteRule ^nom\-de\-la\-page\-6\.html$ b.php?page=6 [L]

    RewriteRule ^nom\-de\-la\-page\-7\.html$ c.php?page=7 [L]

    RewriteRule ^nom\-de\-la\-page\-8\.html$ d.php?page=8 [L]

    RewriteRule ^nom\-de\-la\-page\-9\.html$ e.php?page=9 [L]

    #--------------------------------------------------
    # changement d'index
    #--------------------------------------------------

    DirectoryIndex site-officiel.html

    #--------------------------------------------------
    # Redirection 301 des anciennes pages
    #--------------------------------------------------

    #RedirectPermanent ancienne-page-1.php nom-de-la-page-7.html

    #RedirectPermanent ancienne-page-2.php nom-de-la-page-3.html

    #RedirectPermanent index.php site-officiel.html

    #RedirectPermanent ancienne-page-3.php site-officiel.html

    #RedirectPermanent ancienne-page-4.php site-officiel.html

    #RedirectPermanent ancienne-page-5.php site-officiel.html

    #RedirectPermanent ancienne-page-6.php site-officiel.html

    #RedirectPermanent ancienne-page-7.php site-officiel.html

    #RedirectPermanent ancienne-page-8.php site-officiel.html

    #RedirectPermanent ancienne-page-9.php site-officiel.html

    #RedirectPermanent ancienne-page-10.php site-officiel.html

    #RedirectPermanent ancienne-page-11.php site-officiel.html

    #RedirectPermanent ancienne-page-12.php site-officiel.html

    #RedirectPermanent ancienne-page-13.php nom-de-la-page-5.html

    #RedirectPermanent ancienne-page-14.php nom-de-la-page-2.html

    #RedirectPermanent ancienne-page-15.php nom-de-la-page-8.html
    __________________________________________________
     
  2. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    avec cette solution tu as du duplicate content puisque deux pages sont censées afficher le même contenu. Il vaut mieux rediriger la racine vers site-officiel.html

    Sinon il faut surement mettre :
    Code:
    DirectoryIndex a.php?page=1
     
  3. tainjenchie
    tainjenchie Nouveau WRInaute
    Inscrit:
    29 Novembre 2012
    Messages:
    4
    J'aime reçus:
    0
    Merci pour cette réponse Forty
    Tu préconises que je remplace la ligne DirectoryIndex dans mon htaccess par celle que tu as écri et qui pointe non plus vers une url réécrite mais vers l'adresse dynamique ?
    - Du coup, je perd les avantages de l'url rewrinting puisque l'internaute voit la variable passée en méthode GET.
    - Faut il se débrouiller pour que l'index du site (qui puise ses contenus dans une base de donnée comme toutes les autres pages) s'affiche sans avoir de variables à passer ?
    - et qu'en est-il du reste de mon code concernant les redirections permanentes des anciennes pages. Pourquoi ne fonctionne t'il pas ?
    Merci beaucoup
     
  4. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    je n'ai pas préconisé cela (à cause du DC) mais de toute façon l'internaute ne va pas voir la variable car cette page est appelée que si tu appelles le "directory index".
    Donc si tu mets le directoryindex il ne faut pas que la page site-officiel.html existe aussi.
    c'est mieux
    il faut dé-commenter en enlevant le "#" en début de ligne
     
  5. tainjenchie
    tainjenchie Nouveau WRInaute
    Inscrit:
    29 Novembre 2012
    Messages:
    4
    J'aime reçus:
    0
    Forty, je te remercie chaleureusement pour le temps que tu me consacre.
    En retour, pour être honnête, je dois te dire que je ne comprends pas le sens de tes réponses.
    Pourrais tu m'accorder un petit temps supplémentaire pour me dire ce que je dois faire pour que ce .htaccess fonctionne ?
    Cordialement
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 077
    J'aime reçus:
    295
  7. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    première chose : à cause du duplicate content il ne faut pas que la même page soit accessible par deux adresses différentes. Avec le directoryindex tu vas avoir -http://tonsite.com/ et -http://tonsite.com/site-officiel.html qui seront identiques avec ce que tu veux faire.

    Je préconise de ne pas avoir de page site-officiel.html mais seulement l'index. Il faut donc remplacer :
    Code:
    RewriteRule ^site\-officiel\.html$ a.php?page=1 [L]
    DirectoryIndex site-officiel.html
    par :
    Code:
    DirectoryIndex a.php?page=1
    Pour gérer les redirections il faut employer une astuce pour éviter que la redirection crée une boucle infinie avec la réécriture. La technique c'est d'ajouter un paramètre "rewriting" à la réécriture et de vérifier à la redirection qu'il n'existe pas avant de la faire. Tu as le détail ici : http://www.urlrewriting.fr/faire-une-redirection-301-des-anciennes-url ... ess_9.html
     
  8. tainjenchie
    tainjenchie Nouveau WRInaute
    Inscrit:
    29 Novembre 2012
    Messages:
    4
    J'aime reçus:
    0
    Spout et Forty, merci beaucoup pour vos retours. Je potasse tout ça et je reviens vers vous... bonne soirée.
     
Chargement...
Similar Threads - DirectoryIndex réécrite possible Forum Date
Directoryindex et duplicate content URL Rewriting et .htaccess 15 Novembre 2011
Le htaccess de WordPress réécrit une URL qui n'est pas censé être réécrite Administration d'un site Web 17 Juin 2020
noindex ou redirection pour l'URL non réécrite ? Demandes d'avis et de conseils sur vos sites 18 Janvier 2019
Url dynamique vers url réécrites Référencement Google 13 Juillet 2018
RewriteRule : afficher un $_GET dans une URL réecrite Développement d'un site Web ou d'une appli mobile 12 Novembre 2016
DC - besoin d'aide avec des URLs mal réécrites Netlinking, backlinks, liens et redirections 21 Juin 2013
Form GET, select, URL réécrite et redirections VS Googlebot ? Netlinking, backlinks, liens et redirections 28 Janvier 2013
Redirection 301 d'une adresse dynamique deja réécrite URL Rewriting et .htaccess 29 Août 2012
Redirection 301 et saut vers la nouvelle url réécrite Netlinking, backlinks, liens et redirections 12 Juillet 2012
Faut il rediriger les urls réécrites ? Débuter en référencement 17 Mars 2012