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] Problème de redirection suivant les paramètres d'URL


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut [URL rewriting] Problème de redirection suivant les paramètres d'URL
    Bonjour bonjour,

    J'ai un problème.
    Je souhaite que la personne qui entre sur episode.php?id=1 soit redirigé sur saison-1-episode-1.html

    J'ai donc mis ça dans mon .htacces
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RedirectPermanent /episode.php?id=1  http://www.monsite.com/saison-1-episode-1.html
    RedirectPermanent /episode.php?id=2  http://www.monsite.com/saison-1-episode-2.html
    RedirectPermanent /episode.php?id=3  http://www.monsite.com/saison-1-episode-3.html
    Et ainsi de suite...


    Malheureusement, ça fonctionne pas
    J'ai jeté un coup d'œil sur google, pas de solutions...

  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
    C'est parce que les RedirectXxx ne travaillent pas sur la query string mais que sur le chemin (ce qu'il y a avant le ?, justement : /episode.php). Il faut passer par RewriteCond et RewriteRule, ce qui permet au passage de faire une règle générique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
    RewriteRule ^episode.php$ http://www.monsite.com/saison-1-episode-%1.html? [R=301,L]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Ca fonctionne bien, mais ya toujours un soucis
    (je n'ai pas été assez précis)

    Le problème, c'est que arrivé à l'id 11, la saison change
    episode.php?id=11 doit correspondre à http://www.monsite.com/saison-2-episode-1.html

  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
    Ah ben, je pouvais pas prévoir !! C'est quoi la règle, exactement ? id=36 par exemple, c'est saison 4, épisode 6 ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut
    Tout à fait


    (chaque saison 10 episodes)

  6. #6
    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
    OK, ça va pas être simple de faire du générique, alors : faut faire un bloc par saison :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    RewriteEngine on
    
    # Saison 1
    RewriteCond %{QUERY_STRING} ^id=([0-9])$
    RewriteRule ^episode.php$ http://www.monsite.com/saison-1-episode-%1.html? [R=301,L]
    
    # Saison 2
    RewriteCond %{QUERY_STRING} ^id=1([0-9])$
    RewriteRule ^episode.php$ http://www.monsite.com/saison-2-episode-%1.html? [R=301,L]
    
    # Saison 3
    RewriteCond %{QUERY_STRING} ^id=2([0-9])$
    RewriteRule ^episode.php$ http://www.monsite.com/saison-3-episode-%1.html? [R=301,L]
    
    ...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2015, 08h16
  2. Réponses: 2
    Dernier message: 13/07/2012, 14h40
  3. Réponses: 2
    Dernier message: 13/12/2007, 14h45
  4. [URL Rewriting] Problème avec un paramètre
    Par antitrust56 dans le forum Apache
    Réponses: 11
    Dernier message: 07/11/2007, 18h40
  5. Réponses: 3
    Dernier message: 31/07/2007, 16h40

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