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 :

[.htaccess] Rediriger les .com vers les .org [FAQ]


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut [.htaccess] Rediriger les .com vers les .org
    Bonjour, j'aimerais savoir comment faire pour :

    Quand je vais sur www.monsite.com/page.php OU monsite.com/page.php soit rediriger vers www.monsite.org/page.php OU monsite.org/page.php

    ?? merci beaucoup
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) http://%1.org/$1 [R=301,QSA]
    R=301 pour une redirection permanente, R=302 pour une redirection temporaire.

    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 régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    Rebonjour, j'ai fais une faute de frappe..

    Mon site ce trouve dans un répertoire..donc ce serais plutot

    www.monsite.com/site/page.php
    vers
    www.monsite.org/site/page.php
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  4. #4
    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
    Tu as essayé au moins avec ma conf ? Mets le .htaccess dans le répertoire "site" si tu veux que seul ce répertoire et ses sous-répertoires soient redirigés, ou sinon à la racine du document root si tu veux rediriger l'intégralité de ton site (répertoire "site" + ceux qui se trouvent au même niveau).

    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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    Mes fichiers de mon site ce trouve dans /home/.../public_html/

    Je met le .htaccess ici avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) http://%1.org/$1 [R=301,QSA]
    et lorsque je vais sur
    www.monsite.com/site
    il me redirige vers
    http://www.monsite.com/site

    ______________________________________________

    Si je met le fichier dans le dossier du site
    /home/.../public_html/site
    Je suis redirigé vers
    http://www.monsite.com//home/.../public_html/page.php

    merci
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  6. #6
    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
    Euh... Quelle est la différence entre les 2 URL que tu donnes ? Tu veux dire que tu n'es pas redirigé ? Y a un .htaccess dans "site" ? Quel est-il ?

    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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    Finalement je n'ai rien dis.. j'avais oublier d'enlever un .htaccess.. dsl
    donc présentement j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) https://%1.org/$1 [R=301,QSA]
    qui permet de rediriger tous les *.com/ vers *.org en https..

    J'aimerais rediriger tous les .org vers https alors j'avais penser à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.org$ [NC]
    RewriteRule (.*) https://%1.org/$1 [R=301,QSA]
    mais ça ne fonctionne pas..

    j'ai aussi essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    fonctionne pas non plus

    as tu une suggestion à me proposer ? merci de ton aide
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  8. #8
    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
    Essaie peut-être avec SERVER_PORT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{SERVER_PORT} !^443$
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{SERVER_PROTOCOL} !https [NC]
    mais j'ai peur que ça ne fonctionne pas car logiquement ta vérif sur HTTPS devrait passer. Ca voudrait dire que le serveur Web est derrière un reverse proxy qui fait le HTTPS et qui renvoie en HTTP sur le vrai serveur Web.

    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

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    Ça fonctionne mais est-ce possible de faire mettre le .org avant qu'il mettre le https ?

    car j'ai seulement un certificat ssl pour monsite.org et non monsite.com
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  10. #10
    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
    A priori oui en mettant dans ton .htaccess les Rewrite dans le bon ordre : d'abord les redirections vers le .org puis le passage en https.

    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

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    ok j'ai mis ceci dans mon .htaccess

    Quand je vais sur http://www.monsite.com il me redirige vers https://www.monsite.com
    Et non sur : http://www.monsite.org et ensuite https://www.monsite.org

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) https://%1.org/$1 [R=301,QSA]
     
    Rewritecond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA]
    merci
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  12. #12
    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
    Ajoute un L dans les [] des RewriteRule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) https://%1.org/$1 [R=301,QSA,L]
    
    Rewritecond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,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

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    Parfais ça fonctionne merci !

    Une dernière question si je veux rediriger www.monsite.com/site/
    vers
    https://www.monsite.org/site/page.php

    Je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Rewritebase /site
    RewriteRule ^$ page.php [R=301,QSA,L]
     
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) https://%1.org/$1 [R=301,QSA,L]
     
    Rewritecond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]
    Alors pourquoi il me sors ceci
    https://www.monsite.org/page.php
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  14. #14
    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
    Supprime le RewriteBase car il va avoir un impact sur toutes les règles de ton .htaccess, travaille plutôt avec RewriteRule ^site... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^site/?$ /site/page.php [R=301,QSA,L]
    Et mets les règles dans le bonne ordre : RewriteEngine on en premier même si dans l'absolu ça ne change pas grand chose, on l'a vu, l'ordre des règles est d'une extrême importance.

    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

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    /home/.../public_html/site/page.php

    Parfais ça fonctionne quand je le met dans le dossier /public_html

    mais si je désire le mettre dans le dossier /site est-ce possible ?
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  16. #16
    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
    Dans ce cas, tu retires simplement site/ de tes RewriteRule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^$ page.php [R=301,QSA,L]
    ET SANS REWRITEBASE !!!

    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

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    J'ai finalement trouvé la solution merci beaucoup de ton aide !!
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

  19. #19
    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
    Pour info, tu peux nous la donner ?

    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

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Points : 96
    Points
    96
    Par défaut
    On dirait que mon code de htaccess marche 1 fois sur 2...
    Est-ce que ce serait à cause des "cookies" ou whatever ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{HTTP_HOST} ^(.*)\.com$ [NC]
    RewriteRule (.*) https://%1.org/site/$1 [R=301,QSA,L]
    1 fois sur 2 j'obtiens le path /home/.../site/etc.. dans mon url je ne comprend pas j'ai essayer avec et sans RewriteBase comme tu me l'avais dit
    mysql_query("DELETE stupidity FROM earth") or die("Stupidity");

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/01/2014, 12h43
  2. Afficher des liens dans les erreurs vers les classes
    Par root76 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 18/06/2009, 10h17
  3. Réponses: 19
    Dernier message: 04/06/2009, 17h11
  4. Réponses: 2
    Dernier message: 11/04/2009, 11h04

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