IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[URL Rewriting] Enlever "index.html"


Sujet :

Apache

  1. #1
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 140
    Points : 233
    Points
    233
    Par défaut [URL Rewriting] Enlever "index.html"
    Bojour à tous, je possède une page web unique (index.html) sur un nom de domaine (mondomaine.com). Mon souhait est d'éviter les "doublons" de page au niveau des moteurs de recherche.

    J'ai déjà réussi à m'occuper du www dans le htaccess. Si l'utilisateur tape http://www.mondomaine.com ou www.mondomaine.com, l'URL affichée est http://mondomaine.com.

    Toutefois, je voudrais aussi faire en sorte que si l'utilisateur tape http://mondomaine.com/index.html, il n'y ait que l'affichage de http://mondomaine.com.

    Voici donc mon htaccess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SetEnv PHP_VER 5_TEST
    SetEnv REGISTER_GLOBALS 0
    
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^mondomaine.com$
    RewriteRule ^(.*) http://mondomaine.com$1 [QSA,L,R=301]
    RewriteRule ^index.html$ / [L]
    En vert, le code qui fonctionne et s'occupe de supprimer le www. En rouge, j'ai donc créé ma nouvelle règle pour supprimer le index.html. J'ai rajouté un / pour dire de renvoyer à la racine du domaine (?) mais en chargeant ce fichier en ligne, je ne reçois qu'une erreur 500 en tapant http://mondomaine.com.

    Un fichier ne contenant que le code vert fonctionne sans problème.

    Est-ce que l'un d'entre vous pourrait m'aider ? Je découvre l'URL rewriting et sa syntaxe et j'avance à tâtons...

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est un peu tordu, comme problème. En fait, que le navigateur demande / ou /index.html, Apache arrivera à vouloir passer à la réécriture l'URL /index.html. Il faut donc arriver à identifier le cas où c'est Apache qui a trouvé qu'il fallait traiter /index.html (auquel cas il ne faut pas rediriger) et le cas où c'est le client (le navigateur ou le moteur de recherche) qui demande /index.html. Pour cela, il faut utiliser un paramètre d'URL "fantôme" qui ne sert qu'à faire cette distinction. Je n'ai pas testé, mais ça donnerait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteCond %{QUERY_STRING} !internal_redirect
    RewriteRule ^index\.html$ / [L,R=301]
     
    RewriteRule ^$ index.html?internal_redirect [L]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 140
    Points : 233
    Points
    233
    Par défaut
    Ça fonctionne, merci beaucoup.

    Je n'avais pas conscience de tout ce que tu as énoncé, j'ai bien fait de demander parce que je pense que je n'aurai jamais pu trouver ça tout seul...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [URL rewriting] Enlever le début d'une URL
    Par itgus69 dans le forum Apache
    Réponses: 4
    Dernier message: 07/11/2013, 12h03
  2. [URL rewriting] Redirection page index
    Par Benzz dans le forum Apache
    Réponses: 3
    Dernier message: 16/09/2010, 18h31
  3. Url Rewriting et undefined index
    Par SorenS dans le forum Apache
    Réponses: 14
    Dernier message: 17/06/2009, 14h16
  4. [URL Rewriting] rediriger .php vers .html
    Par Gunner4902 dans le forum Apache
    Réponses: 8
    Dernier message: 27/12/2007, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo