.htaccess, tout rediriger vers accueil

Résolu
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. 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. 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. c'est bien ça ! Excepté que même http://www.monndd.com/index.php doit rediriger vers http://www.monndd.com/
      0
    3. 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. Merci, ça marche impeccable !
      Je sais que cette demande peut paraître bizarre mais elle est justifiée ! :)

      Encore merci, ça marche ! :)
      0
    5. La prochaine fois, tu peux tout simplement mettre un deny from all si tu veux limiter l'accès temporairement :).
      0
  2. 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
    1. RewriteEngine On
      RewriteRule (.*) index.php
      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
      0
      1. 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. la racine de ton site n'est pas index.php ????

          il faut rediriger vers un fichier et non une url
          0
        2. 301 c'est un redirection externe

          à priori c'est pas ton cas ....
          0
        3. 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. tu veux faire quoi ???
          de l'url rewriting des urls ??
          0
        5. 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