.htaccess, tout rediriger vers accueil

Résolu
reywas -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,

Je souhaiterai rediriger toutes les pages de mon site vers la page d'accueil.

J'utilise ce code :

RewriteEngine On
RewriteRule ^(.*)$ http://www.monndd.com/? [R=301,L]

Il fonctionne très bien excepté que http://www.monndd.com/ redirige aussi vers http://www.monndd.com/ ce qui crée un boucle de redirection infinie. Comment éviter de rediriger ma page d'accueil vers elle même ?

Merci d'avance, bonne soirée !

4 réponses

  1. reywas
     
    J'essaye de ma ré-exprimer correctement, le problème est pourtant très simple :
    Absolument toutes les pages de mon site doivent pointer vers http://www.monndd.com/ SAUF la page d'accueil car sinon je me retrouve dans un cas de boucle de redirection.

    En gros :
    http://www.monndd.com/ reste http://www.monndd.com/
    http://www.monndd.com/index.php redirigera vers http://www.monndd.com/
    http://www.monndd.com/page.php redirigera vers http://www.monndd.com/
    http://www.monndd.com/dossier/ redirigera vers http://www.monndd.com/
    http://www.monndd.com/dossier/blabla.php redirigera vers http://www.monndd.com/

    et ainsi de suite.
    Je pense que la 301 peut fonctionner même si c'est pour un site externe. Dans le cas contraire que me conseilles tu ?
    2
    1. maka54 Messages postés 721 Statut Membre 80
       
      cela signifie que toutes les pages iront vers index.php, ton site n'aura plus qu'une page active

      c'est ce que tu cherches ?
      0
    2. reywas
       
      c'est bien ça ! Excepté que même http://www.monndd.com/index.php doit rediriger vers http://www.monndd.com/
      0
    3. maka54 Messages postés 721 Statut Membre 80
       
      RewriteEngine On 
      RewriteRule ^(.+)$ http://www.monndd.com/ [R=301,L] 


      Drôle d'idée, ton site ne doit pas servir a grand chose ....
      0
    4. reywas
       
      Merci, ça marche impeccable !
      Je sais que cette demande peut paraître bizarre mais elle est justifiée ! :)

      Encore merci, ça marche ! :)
      0
    5. Utilisateur anonyme
       
      La prochaine fois, tu peux tout simplement mettre un deny from all si tu veux limiter l'accès temporairement :).
      0
  2. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Est-ce que tous les appels que tu souhaites rediriger sont adressés vers http://www.monndd.com ?

    Si oui, tu peux essayer ça :
    RewriteRule ^(.*www\.monndd\.com\/.+)$ http://www.monndd.com/? [R=301,L]

    Xavier

    PS : je n'ai rien pour tester sous la main, donc j'ai juste un petit doute : faut-il échapper ou non le /
    Si oui, laisse tel quel.
    Si non, remplace \/ par /
    0
  3. maka54 Messages postés 721 Statut Membre 80
     
    RewriteEngine On
    RewriteRule (.*) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    0
  4. reywas
     
    Reivax : Tout doit être redirigé vers http://www.monndd.com/ sauf http://www.monndd.com/ lui même ! J'ai eu beau essayer d'échapper (ou non) le /, ca n'a pas fonctionné.

    maka : ta regle redirige vers index.php et non vers http://www.monndd.com/ et si je remplace je retombe sur une boucle de redirection...

    Ce code fait la même chose que le premier proposé mais il est plus compact :

    RewriteEngine On
    RewriteRule ^(.*)$ /? [R=301,L]

    J'ai cependant toujours une boucle ! :/
    0
    1. maka54 Messages postés 721 Statut Membre 80
       
      la racine de ton site n'est pas index.php ????

      il faut rediriger vers un fichier et non une url
      0
    2. maka54 Messages postés 721 Statut Membre 80
       
      301 c'est un redirection externe

      à priori c'est pas ton cas ....
      0
    3. reywas
       
      la racine de mon site est bien index.php mais je souhaite que tout soit redirigé vers http://www.monndd.com/ et non vers http://www.monndd.com/index.php :! )
      0
    4. maka54 Messages postés 721 Statut Membre 80
       
      tu veux faire quoi ???
      de l'url rewriting des urls ??
      0
    5. reywas
       
      Non, simplement faire une redirection 301 de toutes les URL d'un site vers la page d'accueil de ce même site !
      Voir en dessous, j'ai ré-expliqué.
      0