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] RewriteCond pour désactiver les règles en local


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut [.htaccess] RewriteCond pour désactiver les règles en local
    Bonjour à tous!

    Je veux que la réécriture de certaines règles de mon fichier htaccess se produise seulement lorsque c'est à partir de mon domaine et non à partir de ma machine de production (localhost). Il me semble que mes règles fonctionnaient la semaine dernière, mais j'ai peut-être à ce moment là mal exécuté mes tests...

    Voici ce que j'ai en ce moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^mondomaine(.*)
        RewriteRule ^(.*)$ http://www.mondomaine.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^mondomaine(.*)
        RewriteRule ^(en|fr|EN|FR)$ http://www.mondomaine.com/$1/ [R=301,L]
    RewriteCond %{HTTP_HOST} ^mondomaine(.*)
        RewriteRule ^(en|fr|EN|FR)/index.php$ http://www.mondomaine.com/$1/ [R=301,L]
    RewriteCond %{HTTP_HOST} ^mondomaine(.*)
        RewriteRule ^(en|fr|EN|FR)/about-us/about-us.php$ http://www.mondomaine.com/$1/about-us/ [R=301,L]
    ...
    Je me demandais si c'était également possible de rassembler les règles dans une condition puisque c'est la même condition pour toutes ces règles...

    Merci beaucoup!

  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
    Par défaut
    Je veux bien que ça ne fonctionne pas ou plus mais c'est quoi le problème exactement ? Tu ne le décris pas et en plus, tu ne semble pas sûr qu'il y a un problème !!

    Citation Envoyé par sim911 Voir le message
    Je me demandais si c'était également possible de rassembler les règles dans une condition puisque c'est la même condition pour toutes ces règles...
    Non, pas possible, on ne peut pas factoriser les conditions pour plusieurs RewriteRule.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Merci pour ta réponse _MAC_.

    Le problème c'est que lorsque j'accède au site Web sur le serveur d'hébergement (www.mondomaine.com), les règles sont ignorées. Lorsque j'y accède à partir de mon serveur de production en localhost, les règles sont aussi ignorés, mais c'est voulu. Cependant je ne veut pas qu'elles soient ignorées lorsque j'y accède via le Web (www.mondomaine.com).

    C'est comme s'il y aurait un erreur dans ma condition, puisqu'elle semble être ignorée dans les deux cas.

    Je suis débutant en .htaccess... J'espère n'avoir oublié aucun détail.

    Merci encore une fois.

  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
    Par défaut
    Je n'avais pas bien prêté attention à tes règles : dans tous les cas, seule la première règle sera prise en compte si tu fais http://domaine.com/nimportequoi car les règles sont exécutées dans l'ordre dans lequel elles apparaissent dans le .htaccess et comme ces URL matchent toutes la première règle, seule la première redirection peut avoir lieu. Les autres ne servent à rien.

    Si tu veux que je regarde en live ce qu'il se passe, envoie par MP la vraie URL de ton site.

    Sinon, essaie d'ajouter l'option -MultiViews :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Options +FollowSymLinks -MultiViews
    Rewrite...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 49
    Par défaut
    Merci beaucoup _MAC_

    Ta réponse n'étais pas exacte, mais elle m'a éclairée! MultiViews n'a rien fait dans mon cas...

    Voici ce qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{HTTP_HOST} ^(.*)mondomaine$
    Merci encore!

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

Discussions similaires

  1. langage ou modèle pour représenter les règles non monotoniques ?
    Par zoya23 dans le forum Intelligence artificielle
    Réponses: 0
    Dernier message: 16/06/2014, 13h34
  2. Créer une macro pour éxécuter les règles
    Par belilan dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 05/01/2014, 14h45
  3. Comment faire pour désactiver les menu déroulant ?
    Par gryffondor8392 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/02/2011, 22h40
  4. Réponses: 1
    Dernier message: 23/03/2010, 15h38

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