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 :

Redirection avec htaccess


Sujet :

Apache

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Points : 187
    Points
    187
    Par défaut Redirection avec htaccess
    Bonsoir à tous,
    J'ai un problème avec le fichier htaccess et la réécriture.
    J'ai écrit ce petit htaccess qui ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^initialisation/initialisation.php$ accueil.php [L]
    Sur ce site j'ai la page index.html qui redirige instantanément le visiteur sur la page initialisation/initialisation.php. Je voudrais masqué l'arborescence initialisation/initialisation.php et la remplacer par accueil.php.

    Comment faire ?
    D'avance merci pour vos lumières

    [MàJ] Voilà ce que je veux exactement.

    Mon pb est simple, le visiteur arrive sur monsite.com/index.html. Cette page renvoie par « refresh » :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="refresh" content="0;URL=Initialisation/Initialisation.php">
    Qui apparaît en clair dans dans l'url affichée, ce que je ne veux pas.

    Ce que je veux est n'avoir que monsite.com/index.html (ou accueil peu importe !) qui apparaisse dans la barre d'adresse.

    Que ce soit sur le serveur de pros Ovh ou sur mon serveur de développement j'ai l'impression que le htaccess n'est jamais pris en compte pourtant j'ai vérifié via phpinfo() que le module rewrite est chargé !

    Ou est l'erreur ?

    D'avance merci.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 220
    Points : 15 511
    Points
    15 511
    Par défaut
    je crois que c'est la règle RewriteRule qui est à l'envers, c'est plutôt quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule accueil.html initialisation/initialisation.php [L]
    regarde la documentation :
    http://httpd.apache.org/docs/current...ml#rewriterule

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Points : 187
    Points
    187
    Par défaut
    Merci pour ta réponse,
    J'a l'impression que l'url rewriting ne fonctionne juste pas chez OVH.
    Quel que soit l'ordre ou l'endroit ou je place le fichier .htaccess ou l'écriture du RewriteRule rien ne réagit !!! Grrrrr
    Comment vérifier que le htaccess est bien actif (j'ai essayé une restriction d'accès sans aucun effet !!!???) quant aux exemples donnés par OVH je n'ai pas réussi à en mettre un en œuvre !!!!!!!!

    Merci pour vos lumières…

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Pour ma part, j'ai pas de problème particulier avec le .htaccess chez ovh. Peut-être pourrait-il y avoir une différence s'il s'applique pour un sous-domaine, est-ce le cas ?

    Sinon je comprends pas trop cette balise meta refresh sur ta page d'accueil. Si tu as besoin de code php alors fais une page "index.php" et supprime la page "index.html". C'est le plus simple. Ou si tu tiens absolument à ce que ta page d'index soit en ".html" plutôt qu'en ".php" alors tu peux faire une règle de réécriture. Mais dans tous les cas cette balise meta refresh fait tâche et tu devrais faire en sorte de la supprimer. Cela ralenti l'affichage et procure un mauvais référencement, à éviter absolument !
    Ensuite si tu veux faire des redirections dans le code il faut les faire en php ou éventuellement en javascript dans des cas très particuliers mais pas avec une balise meta.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Points : 187
    Points
    187
    Par défaut
    Merci pour tes remarques,
    Effectivement il s'agit de sous-domaine (xxxx.monsite.fr) ce qui d'après toi serait le clé du pb.
    Concernant le index.html avec le refresh est fait pour rediriger instantanément vers « initialisation/initialisation.php » ce que je veux faire disparaître au yeux du visiteur par l'utilisation des htaccess.
    Encore merci, d'autres pistes ?

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Ton refresh ne doit pas envoyer vers Initialisation/Initialisation.php mais vers accueil.php (bien que je questionne également l'utilité de cette redirection, pourquoi ne pas Initialisation/Initialisation.php en index.html directement?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="refresh" content="0;URL=accueil.php">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^accueil.php$ initialisation/initialisation.php [QSA, L]

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Points : 187
    Points
    187
    Par défaut
    Merci pour ta réponse malheureusement rien ne fonctionne.
    Visiblement la directive n'est pas exécutée puisque j'obtiens une page blanche de 10 lignes d'instruction sans aucune référence à initiation.php http://www.developpez.net/forums/ima...n_rolleyes.gif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # RewriteRule ^index\.html$ initiation/intiation.php [QSA, L]
    J'ai court-circuité le refresh (qui n'est là que pour pallier au défaut de htaccess)
    ????
    D'avance merci.

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Quelles sont ces 10 lignes?

    Ajoute un / avant initiation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^index\.html$ /initiation/intiation.php [QSA, L]

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    j'ai la page index.html qui redirige instantanément le visiteur sur la page initialisation/initialisation.php
    Pour ta culture personnelle, RewriteRule n'effectue pas une redirection mais une réécriture. Ce qui signifie que pour l'URL donnée dans la règle, le serveur servira la ressource mentionnée comme remplacement.
    C'est pour ça que dans ce cas, l'URL affichée dans le navigateur reste celle demandée alors que dans le cas d'une redirection, tu es redirigé vers une autre URL qui s'affiche donc dans la barre d'adresse.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Points : 187
    Points
    187
    Par défaut
    Bonjour à tous, je reviens sur ce sujet que j'ai été obligé de laisser de coté pendant qq temps.
    Donc je reprends le pb du début.
    Ce site est hébergé chez OVH en mode mutualité dans une première approche.
    Conformément aux instructions d'OVH j'ai un sous-domaine dev qui se traduit par dev.monsite.fr auquel j'ai accès par monsite.fr/dev/index.html.
    index.html me redirige vers /initiation/intiation.php
    Dans mon dossier dev j'ai placé un htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^index\.html$ initiation [R=301,L]
    Ca ne fonctionne pas ! Pourquoi ?
    D'avance merci pour vos conseils éclairés !
    Bon week end à tous

    Personne pour m'aider ?

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 414
    Points : 187
    Points
    187
    Par défaut
    En fait il fallait simplement créer un htaccess à la racine du dossier avec comme instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectoryIndex /Intialisation/Intialisation.php
    Pour ceux que ça pourrait intéresser !

  12. #12
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Merci du retour, c'est pas souvent que les auteurs des questions donnent la solution qu'il ont trouvé surtout plusieurs jours après
    Si tout le monde faisait comme toi ça nous donnerait plus de motivation pour aider (parfois on a l'impression d'être un simple sav sans notion de partage en retour)

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

Discussions similaires

  1. Redirection avec htaccess dans un sous-répertoire
    Par fmerceur dans le forum Apache
    Réponses: 2
    Dernier message: 15/03/2010, 16h04
  2. redirection avec .htaccess
    Par anthonycosson dans le forum Apache
    Réponses: 1
    Dernier message: 14/05/2007, 17h04
  3. [Htaccess] redirection avec .htaccess
    Par kimo0147 dans le forum Apache
    Réponses: 1
    Dernier message: 14/03/2007, 11h16
  4. Redirection avec .htaccess ?
    Par aliens dans le forum Apache
    Réponses: 4
    Dernier message: 18/01/2007, 22h25
  5. redirection avec htaccess
    Par Cube55 dans le forum Apache
    Réponses: 3
    Dernier message: 01/03/2006, 17h42

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