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 :

URL Rewrite multiple condition


Sujet :

Apache

  1. #1
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut URL Rewrite multiple condition
    Hello,

    j'ai un petit souci que je n'arrive pas à résoudre, et qui me pose de grand problème.


    J'ai appliqué sur tout mes sites, un règle me permettant d'ajouter un / à la fin de l'url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # AJOUT SLASH FIN URL 
    RewriteCond %{REQUEST_URI} (/[^.]+)[^/]$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}/ [R=307,L]
    Cela fonctionne parfaitement, mais je rencontre un souci lors du renouvellement de mes certificats SSL, le / rajouté m’empêche le renouvellement automatique et m'oblige à supprimer cette règle le temps du renouvellement.
    Je cherche donc à ajouter un condition à cette règle, afin qu'elle ne s'applique pas lors d'un renouvellement.

    Pour cela, j'ai identifié le type d'url à écarter dans la règle, elle se présente sous cette forme : http://domaine.tld/.well-known/acme-...-de-validation
    afin d'avoir quelque chose du genre :

    Si par de slash en fin d'url (%{REQUEST_URI} (/[^.]+)[^/]$) [OR]
    Si l'url n'est pas du type http://domaine.tld/.well-known/acme-challenge/(.*)
    Alors appliqué la règle ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}/ [R=307,L]

    Comment puis-je définir cette condition ?
    Je ne vous cache pas que je ne maitrise pas du tout ce genre de chose, j'ai identifié le flag [OR] afin d'ajouter une condition, mais je n'arrive pas à l'écrire.

    Merci d'avance pour votre aide.


    Geoffrey.

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut loin de vouloir critiquer gratuitement la situation dans lequel tu te trouve, mais rien que de devoir rajouter un "/" à la fin dans ton URL me fait penser que tu as raté quelque chose pour devoir mettre un pansement sur l'accès a des multi-domaines. Si les appels ne sont pas fréquent (moins sollicités) alors je dirais que ça peut dépanner mais si c'est le contraire je dirais simplement que tu fait fausse route.
    Il faut rajouté tes "/" dans tes vhost des domaines concernés directement et d'orienter vers une redirection cas exceptionnel du renouvellement de tes certifs SSL rien ne t'empêche d'y ajouter une petite manipulation shell pour commenter cette ligne dans ton fichier configuration et procédé comme tu le souhaite au renouvellement SSL sans blocage liée a ce risible "/".

  3. #3
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Hello,

    disons que l'ajout de ce "/" est dû a une demande client, pour un aspect "esthétique". Que j'ai gardé ensuite pour ses différents sites.
    Je ne penses pas avoir loupé quoi que se soit, ce n'est peut être pas conventionnel mais c'est un choix parmi tant d'autre.

    Il n'est pas question de multi-domaine dans ma question initiale, juste de multi-condition, pas de "/" ou pas un renouvellement SSL alors ajout du "/".


    Je viens de trouver ce que je cherchais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{REQUEST_URI} (/[^.]+)[^/]$ [OR]
    RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/(.*)$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}/ [R=307,L]

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

Discussions similaires

  1. URL rewriting multiplication d'un mot
    Par win64 dans le forum Apache
    Réponses: 2
    Dernier message: 06/09/2017, 19h45
  2. [URL rewriting] Condition avec paramètre
    Par math567 dans le forum Apache
    Réponses: 6
    Dernier message: 21/05/2012, 17h18
  3. [URL rewriting] Condition avec existence de fichier
    Par Fullvisite dans le forum Apache
    Réponses: 3
    Dernier message: 29/05/2010, 21h17
  4. Réponses: 5
    Dernier message: 12/10/2007, 16h51
  5. Conditions dans url-rewriting
    Par Invité dans le forum Apache
    Réponses: 3
    Dernier message: 06/09/2006, 13h01

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