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 :

problème URL Rewriting


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut problème URL Rewriting
    Bonjour,

    j'ai un site sur lequel j'arrive à faire fonctionner sans problème l'url rewriting pour les pages fixe. Mais j'ai un petit souci concernant les pages dynamiques.

    Ces 4 règles de réécriture sont dans un même htaccess avec le rewrite engine on et l'option Options +FollowSymlinks.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteRule ^([.*]).html$ ?sujet=$2&theme=$1#$3 [L]
    RewriteRule ^([.*])/liste-des-sujets.html$ ?contract=$2&theme=$1#$3 [L]
    RewriteRule ^([.*])/liste-des-sujets.html$ theme.php?sujet=[]&theme=$1 [L]
    RewriteRule ^([.*])([.*])([.*]).html$ index.php?question=$5&sujet=$4&theme=$1&urlrubrique=$2&urlquestion=$3#$6  [L]
    Je découvre les expressions régulières donc il se peut qu'il y ait un souci de ce coté, par ailleurs, comme certaines variables me sont inutiles je ne les ai pas réutilisées et je me demande si ca peut poser un problème de les déclarer et de ne pas s'en servir (si oui comment m'en sortir ?).


    Merci de votre aide.

  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
    Qu'est censé cacher le "?" dans le second membre de tes règles ? Tu veux appeler quel script exactement ?

    Par ailleurs, comment Apache est supposé savoir laquelle des 2 règles appliquer, alors qu'elles ont le même masque ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^([.*])/liste-des-sujets.html$ ?contract=$2&theme=$1#$3 [L]
    RewriteRule ^([.*])/liste-des-sujets.html$ theme.php?sujet=[]&theme=$1 [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

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Citation Envoyé par moxyy Voir le message
    j'ai un site sur lequel j'arrive à faire fonctionner sans problème l'url rewriting pour les pages fixe. Mais j'ai un petit souci concernant les pages dynamiques.
    [...]
    Je découvre les expressions régulières donc il se peut qu'il y ait un souci de ce coté, par ailleurs, comme certaines variables me sont inutiles je ne les ai pas réutilisées et je me demande si ca peut poser un problème de les déclarer et de ne pas s'en servir (si oui comment m'en sortir ?).
    Que cherches-tu à obtenir avec l'URL Rewriting ?
    Pour que ce soit plus clair, peux-tu donner quelques exemples ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses ca m'a permis de comprendre que je prenais le problème à l'envers.

    Donc j'ai recommencé et ca donne ca :
    RewriteRule ^art([0-9]+)-([0-9]+)-([0-9]+)/([.*]).html$ index.php?question=$1&sujet=$2#t$3 [L]
    par exemple je voudrais que le lien de ma page soit :

    et que ca me renvoie à

    pour l'instant j'ai une erreur 404.

  5. #5
    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
    C'est la syntaxe [.*] qui pose problème : retire les [], ça ira mieux. Le #t$3 ne fonctionnera pas comme tu voudras, en revanche, car c'est une réécriture interne au serveur, le résultat du #t$3 n'est pas renvoyé au navigateur.

    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

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    C'est la syntaxe [.*] qui pose problème : retire les [], ça ira mieux. Le #t$3 ne fonctionnera pas comme tu voudras, en revanche, car c'est une réécriture interne au serveur, le résultat du #t$3 n'est pas renvoyé au navigateur.
    merci c'était ca, et ok pour le # je le passerai directement en fin d'url.

    Cette syntaxe avec les / est problématique avec les includes par exemple. J'ai remplacé par des virgules.Sinon y a-t-il un autre moyen que de mettre des chemins absolus partout ?

  7. #7
    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
    Citation Envoyé par moxyy Voir le message
    Sinon y a-t-il un autre moyen que de mettre des chemins absolus partout ?
    Où ça ? Dans un include ? Pas vraiment, ou alors utiliser des ../.., etc.

    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

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    merci, problème résolu.

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

Discussions similaires

  1. Problème url rewriting
    Par Generation-Web dans le forum Apache
    Réponses: 4
    Dernier message: 21/11/2008, 02h22
  2. Problème url rewriting
    Par Valter dans le forum ASP.NET
    Réponses: 17
    Dernier message: 20/10/2008, 16h39
  3. Problèmes URL Rewriting
    Par mystar dans le forum Apache
    Réponses: 1
    Dernier message: 13/11/2007, 11h06
  4. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 14h29
  5. Problème URL rewriting
    Par Zan dans le forum Apache
    Réponses: 4
    Dernier message: 24/11/2006, 19h04

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