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éécriture des dates


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut [URL rewriting] Réécriture des dates
    Bonsoir, j'ai un fichier htaccess pour la gestion des directives de réécriture.
    J'utilise une URL qui contient un paramètre de date formatée (2011/03/02)
    La réécriture fonctionne mais n'est pas correct car il considère la fin de la date pour un autre paramètre dans cette même réécriture.
    Je souhaite forcer la date dans l'url
    Voici un exemple d'URL :
    /actualites/2011/02/03/mon-actualite-numero-2/hrPH1lUTbkMh0hSRtPsO/
    /
    Ma réécriture pour cette URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(actualites|news|nieuws)[/]([/0-9]+)[/]([-_0-9a-zA-Z]+)[/]([0-9a-zA-Z]+)/{0,1}$   /news.php?getdate=$2&uri_get_news=$3&getnews=$4				[QSA,L]
    Ne dois je pas modifier ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (actualites|news|nieuws)[/]([/0-9]+)
    Par quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (actualites|news|nieuws)[/]([/0-9]+){4}[/]([/0-9]+){2}[/]([/0-9]+){2}/
    Sachant que je dois pensé aux autres paramètres

  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
    C'est inutilement complexe, de ce que je comprends :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(?:actualites|news|nieuws)/(\d{4}/\d{2}/\d{2})/([-_0-9a-zA-Z]+)/([0-9a-zA-Z]+)/?$ /news.php?getdate=$1&uri_get_news=$2&getnews=$3 [QSA,L]
    ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Bonjour Julp
    J'ai une question que fait cette partie ? :

  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
    (?: ... ) : c'est une parenthèse non capturante (donc pas de mémorisation, pas de variable associée). $1 désigne dès lors la partie date et non actualites|news|nieuws dont visiblement vous n'aviez pas besoin.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Donc si je comprend bien je n'est nul besoin de la partie petites-annonces
    mais si j'ai utilisé $2 c'est parce qu'au début de mon fichier je charge la langue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(fr|en|nl|de {1,3}/(.*) 	   /$2?getLanguage=$1 [QSA,L]
    Mes annonces actuelles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(petites-annonces|small-ads|zoekertjes|anzeigen)/([/0-9]+)-([-0-9a-zA-Z]+)/{0,1}$     		/smallads.php?getid_sect_adds=$2&sect_link_adds=$3  [QSA,L]
    je suppose que sa fonctionnera mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(?:petites-annonces|small-ads|zoekertjes|anzeigen)/([/0-9]+)-([-0-9a-zA-Z]+)/{0,1}$     		/smallads.php?getid_sect_adds=$2&sect_link_adds=$3 [QSA,L]

  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
    J'ai du mal à suivre.

    Dans la première [celles avec les langues] (qui est syntaxiquement fausse), il faut des parenthèses capturantes puisque vous souhaitez réutiliser cette partie.

    Dans la seconde, si la partie petites-annonces|small-ads|zoekertjes|anzeigen n'est pas utilisée (ce qui est visiblement le cas), une parenthèse capturante n'est pas nécessaire. Par contre, si vous en utilisez une non-capturante, il ne faut pas oublier de décrémenter vos variables ($1 : fait alors référence à ce qui est capturé par ([/0-9]+) ; $2 à ([-0-9a-zA-Z]+)).

    Après, vous gérez ça comme vous voulez. Les parenthèses non-capturantes ne sont pas "obligatoires" (c'est juste plus "propre" et ça permet éventuellement de ne pas atteindre inutilement la limite des 9 captures).

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

Discussions similaires

  1. [URL rewriting] Réécriture de dates
    Par gtraxx dans le forum Apache
    Réponses: 3
    Dernier message: 17/12/2009, 00h25
  2. [URL rewriting] Réécriture automatique des liens ?
    Par Dev@lone dans le forum Apache
    Réponses: 3
    Dernier message: 10/11/2009, 13h42
  3. [URL Rewriting] Réécriture et espaces
    Par iwf-fr dans le forum Apache
    Réponses: 5
    Dernier message: 02/09/2007, 14h33
  4. Réponses: 6
    Dernier message: 19/12/2005, 13h41

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