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 :

[.htaccess] Changement format d'URL


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Par défaut [.htaccess] Changement format d'URL
    Bonjour à tous,

    j'ai beau avoir lu http://apache.developpez.com/cours/ j'avoue mes limites et suis bloqué sur mon pb.

    Mon ancien format d'url : www.monsite/index.php?cat_id=12
    Mon nouveau format d'url : www.monsite/internet-c-12.html

    Le numéro de catégorie (ici 12) reste le même, j'aimerais donc savoir quelle règle mettre pour rediriger mes anciennes url vers les nouvelles.

    D'avance merci.

    Pour info : Mon site est un annuaire avec déjà des règles de rewritting que voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RewriteEngine on
     
    RewriteRule   ^(.*)-f-([0-9]*)-([0-9]*).html$   feed.php?feedid=$2&linkid=$3 [L]
    RewriteRule   ^(.*)-s-([0-9]*).html$   single.php?id=$2 [L]
    RewriteRule   ^(.*)-t-([0-9]*).html$   tag.php?name=$1&id=$2 [L]
    RewriteRule   ^(.*)-c-([0-9]*).html$   index.php?name=$1&dir=$2 [L]
    RewriteRule   ^(.*)-k-([0-9]*).html$   index.php?do=keywords&words=$1&id=$2 [L]
    RewriteRule   ^(.*)-c-([0-9]*)-p-([0-9]*).html$   index.php?name=$1&dir=$2&start=$3 [L]
    RewriteRule   ^top-rank([0-9]{1,2}).html$   index.php?do=top-rank&pr=$1 [L]
    RewriteRule   ^(([a-z]|-)*).html$   index.php?do=$1 [L]

  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
    D'où proviennent les données externes comme internet dans l'exemple donné ?

    Si c'est statique c'est possible à raison d'une règle pour chacune des redirections à effectuer. Si c'est dynamique il faut passer par RewriteMap mais c'est un traitement relativement lourd en terme de performance et nécessite d'avoir la main sur le serveur.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Par défaut
    les données proviennent de ma base de données et sont donc "statiques" (toutes définies, mais variant en fonction du numéro de catégorie).

    Il faudrait donc que je liste toutes les urls et faire un règle pour chacun e d'entre elle?

    Il n'y a pas moyen de faire une correspondance "automatique" vu que l'ancienne et la nouvelle url ont le numero de categorie en commun ("12" dans mon exemple).

    Merci!

  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
    Citation Envoyé par fred13009
    Il faudrait donc que je liste toutes les urls et faire un règle pour chacun e d'entre elle?
    Oui, de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{QUERY_STRING} ^cat_id=12$
    RewriteRule ^(?:index\.php)?$ internet-c-12.html [R,L]
    (non testé)

    Citation Envoyé par fred13009
    Il n'y a pas moyen de faire une correspondance "automatique" vu que l'ancienne et la nouvelle url ont le numero de categorie en commun ("12" dans mon exemple).
    Si mais, comme dit précédemment, il faudrait un programme, script ou base de données pour effectuer ce travail (délégué via RewriteMap). Ce qui aura un impact sur les performances du serveur et dont la mise en place ne peut se faire qu'en ayant la possibilité de modifier le fichier de configuration d'Apache.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Par défaut
    Merci bcp pour ton aide.
    Avec 156 urls j'ai du travail, mais bon, s'il n'y a pas d'autre solution je ferai url par url

Discussions similaires

  1. [.htaccess] Changement de répertoire selon URL
    Par Nightwulf dans le forum Apache
    Réponses: 2
    Dernier message: 17/10/2009, 15h28
  2. Changement format MsgBox
    Par syldudu dans le forum Access
    Réponses: 1
    Dernier message: 20/09/2006, 16h02
  3. changement de l'url servlet->jsp par dispatcher
    Par minirom dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 14/08/2006, 15h20
  4. [Mail] [chaînes de caractères]formater une url
    Par Sheriff dans le forum Langage
    Réponses: 6
    Dernier message: 27/07/2006, 14h46
  5. Changement format de date
    Par LaNat dans le forum Outils
    Réponses: 4
    Dernier message: 26/04/2005, 11h02

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