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] Erreur 404 sur la réécriture de mapage-1.html


Sujet :

Apache

  1. #21
    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 isitien Voir le message
    le fichier htaccess prend en consideration le premier lien, parce qu'ils ont la meme forme d'ecriture
    Aucun rapport. Ce qui compte, c'est la forme de l'URL en entrée, pas en sortie. Pour pouvoir faire la distinction, il faut qu'il y ait 2 URL de forme différente et ça se joue au niveau du premier paramètre de RewriteRule ou éventuellement d'un RewriteCond.

    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

  2. #22
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&page=$3 [L]
    RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&id=$3 [L]
    Il prend en consideration le premier lien, et le lien du id ne marche pas

  3. #23
    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
    Bah oui, c'est exactement ce que je dis : la différence se fait au niveau du premier paramètre du RewriteRule donc forcément, si tu as 2 règles RewriteRule avec le même premier paramètre, seule la première règle est prise en compte. Comment veux-tu qu'Apache sache laquelle des deux règles appliquer ? A toi de faire en sorte que les URL en entrée soient différentes, donc que le premier paramètre des RewriteRule soient différents.

    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

  4. #24
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Bah oui, c'est exactement ce que je dis : la différence se fait au niveau du premier paramètre du RewriteRule donc forcément, si tu as 2 règles RewriteRule avec le même premier paramètre, seule la première règle est prise en compte. Comment veux-tu qu'Apache sache laquelle des deux règles appliquer ? A toi de faire en sorte que les URL en entrée soient différentes, donc que le premier paramètre des RewriteRule soient différents.
    Comment puis je faire alors que j'utilise des pseudo frames avec "switch" et "case"

  5. #25
    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
    Je ne comprends pas la question En fait, je ne vois pas le rapport entre des pseudo-frames gérées par switch et case et la réécriture d'URL. J'insiste sur le fait qu'il faut que les URL d'entrée doivent être différentes, donc que les premiers membres des RewriteRule soient différents, si tu veux réécrire correctement.

    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. #26
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut,

    Comme l'a très bien expliqué _Mac_, ton fichier htaccess contient deux règles qui vont concerner les urls construites exactement de la même façon.

    Quelles différences entre : 3-6-5.html et 3-6-7.html ? Comment savoir si le 5 et le 7 sont des numéros de page ou des identifiants ? Il te faut donc les distinguer lorsque tu créés ton url. Par exemple :

    Pour les identifiants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="'.$rub.'-'.$srub.'-id'.$idmcat.'.html" class="Link01">';
    Pour les pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="'.$rub.'-'.$srub.'-page'.$page.'.html" class="Link01">';
    Et ton fichier htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^(\w+)-(\w+)-page(\w+)\.html$ index.php?rub=$1&srub=$2&page=$3 [L]
    RewriteRule ^(\w+)-(\w+)-id(\w+)\.html$ index.php?rub=$1&srub=$2&id=$3 [L]

    A+++

  7. #27
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Je l'ai saisi un peu tard, j'ai fait comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="Videos-Docs-'.$Doc.'-id-'.$idmcat.'.html">'.$Doc .'</a>
    Et ca a marche bien, je vais tester votre methode djayp, en essayant de ne pas avoir des problemes en recuperant le $idmcat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $idmcat = $_GET['idmcat'];

  8. #28
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    J'ai compris le concept:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteRule ^(\w+)-(\w+)-id(\w+)\.html$ index.php?rub=$1&srub=$2&idmcat=$3 [L]
    RewriteRule ^(\w+)-(\w+)-(\w+)-id(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3&id_scat=$4 [L]
    RewriteRule ^(\w+)-(\w+)-(\w+)-play(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3&id_sscat=$4 [L]

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Erreur 404 sur url avec accent
    Par zebul666 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 21/02/2014, 11h24
  2. Erreur 404 sur redirection d'url
    Par iPolux dans le forum Apache
    Réponses: 2
    Dernier message: 16/10/2011, 23h51
  3. [URL rewriting] Erreur 401 sur redirection
    Par MaxPopo33 dans le forum Apache
    Réponses: 1
    Dernier message: 23/08/2009, 16h41
  4. [URL rewriting] erreur 403 sur le CSS
    Par nixonne dans le forum Apache
    Réponses: 2
    Dernier message: 27/03/2009, 09h23

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