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 Rewriting] Règle de réécriture ne fonctionnant pas


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut [URL Rewriting] Règle de réécriture ne fonctionnant pas
    Salt à vous
    ca fait 2 jours que je me casse la tête a essayer d'établir une règle de réécriture après changement du format des URL de mon Blog dotclear

    celui ci utilisait les URL en QUERY STRING, je viens de passer au format PATH INFO... le blog fonctionne, mais j'aimerais que les nombreux liens externes pointant vers mes articles restent valables

    je souhaite donc réécrire les URL entrant sous cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.breizh-ardente.fr/dotclear/index.php?2006/07/19/34-installer-ubuntu
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.breizh-ardente.fr/dotclear/34-installer-ubuntu
    j'y connais rien, mais j'ai potassé les tutoriels Apache sur les expressions régulières, et 2/3 trucs sur apache, ce qui m'a conduit à écrire, après quelques améliorations, cette règle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # anciennes URL
    RewriteCond %{QUERY_STRING} ^([0-9]{4})/([0-9]{2})/([0-9]{2})/([0-9]{2,3})-([a-zA-Z0-9-]+)$
    RewriteRule ^/dotclear/index.php /dotclear/%4-%5?
    qui ne marche pas

    une idée ?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Et où est placée cette règle ? Si c'est dans un fichier .htaccess, le chemin ne doit pas commencer par un slash (au niveau du premier paramètre)

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    la règle est dans un .htaccess à la racine

    le blog est dans un repertoire dotclear

    je varie les versions, sans résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # anciennes URL
    RewriteCond %{QUERY_STRING} ^([0-9]{4}/[0-9]{2}/[0-9]{2})/([0-9]+.*)$ 
    RewriteRule ^dotclear/index.php http://www.breizh-ardente.fr/dotclear/%2?
    même sans le /

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Avant cela et étant donné que votre première règle fonctionne (après correction du slash), la réécriture vous est-elle possible et fonctionne-t-elle ? Si oui, il faudrait regarder ce qu'il se passe (en activant le journal de réécriture et/ou ajoutant l'option R - qu'il serait probablement bon d'adopter par ailleurs dans le cas présent). Si non, il faudrait consulter les journaux (dans la mesure du possible).

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    je ne saisis pas trop cette dernière intervention

    Citation Envoyé par julp Voir le message
    Avant cela et étant donné que votre première règle fonctionne (après correction du slash),
    aucune des règles ne fonctionne

    Citation Envoyé par julp Voir le message
    la réécriture vous est-elle possible et fonctionne-t-elle ?
    elle est possible, je suis hebergé sur un serveur mutualisé chez online.net
    Citation Envoyé par FAQ online.net
    * Support de mod_rewrite pour Apache
    ------------------------------------
    Le support des rewrites rules est maintenant complet et standard,
    leur configuration se fait via les traditionnels fichiers .htaccess .
    Citation Envoyé par julp Voir le message
    Si oui, il faudrait regarder ce qu'il se passe (en activant le journal de réécriture et/ou ajoutant l'option R - qu'il serait probablement bon d'adopter par ailleurs dans le cas présent). Si non, il faudrait consulter les journaux (dans la mesure du possible).
    journal de réécriture ?
    j'ai apercu une option pour activer les log apache, je vais tâcher de remettre la main dessus

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par traax
    Citation Envoyé par julp
    Avant cela et étant donné que votre première règle fonctionne (après correction du slash),
    aucune des règles ne fonctionne
    La règle me paraissait initialement correcte mais je l'ai testé sur mon propre environnement avec succès dans les mêmes conditions.

    Citation Envoyé par traax
    Citation Envoyé par julp
    la réécriture vous est-elle possible et fonctionne-t-elle ?
    elle est possible, je suis hebergé sur un serveur mutualisé chez online.net
    Citation Envoyé par FAQ online.net
    * Support de mod_rewrite pour Apache
    ------------------------------------
    Le support des rewrites rules est maintenant complet et standard,
    leur configuration se fait via les traditionnels fichiers .htaccess .
    Ça dépend de vos "droits" et de la configuration d'Apache parce que c'est potentiellement à vous de préciser Options +FollowSymLinks (ou équivalents), pré-requis à la réécriture (dans le cas contraire une erreur le mentionne explicitement dans les logs).

    Et il ne faut sans doute pas oublier d'activer localement la réécriture (RewriteEngine on), ligne qui n'apparaît pas dans ce que vous avez donné.

    Citation Envoyé par traax
    Citation Envoyé par julp
    Si oui, il faudrait regarder ce qu'il se passe (en activant le journal de réécriture et/ou ajoutant l'option R - qu'il serait probablement bon d'adopter par ailleurs dans le cas présent). Si non, il faudrait consulter les journaux (dans la mesure du possible).
    journal de réécriture ?
    Sur du mutualisé ce sera impossible, de toute manière.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/09/2011, 16h21
  2. [URL rewriting] Règle qui ne marche pas en local
    Par shadeoner dans le forum Apache
    Réponses: 1
    Dernier message: 02/11/2010, 17h45
  3. Réponses: 5
    Dernier message: 12/04/2009, 22h28
  4. [URL Rewriting] Ma réécriture ne fonctionne pas
    Par SebastienM dans le forum Apache
    Réponses: 6
    Dernier message: 04/06/2008, 16h06
  5. [URL Rewriting] flag last [L] ne fonctionnant pas
    Par Yann_du_sud dans le forum Apache
    Réponses: 2
    Dernier message: 22/05/2008, 14h23

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