Taille des variables url rewrités

WRInaute discret
Voila j'ai des url du type :
h*tp://www.toutankharton.com/nouveaute/actualite/200410.php
Ce qui correspond en réalité à
http://www.toutankharton.com/nouveaute/ ... 04&mois=10

Mon fichier .htaccess est :
Code:
RewriteEngine on
RewriteRule (.+)/(.+)(.+)\.php$ /nouveaute/?type=$1&date=$2&mois=$3

Mais gros probleme (vous pouvez aller voir la premiere url, cachée à google) : Pour le serveur, la variable date est 20041 et mois 0
Comment dire au serveur que la date fait 4 chiffres et le mois 2 ?
Merci d'avance
 
E
e-passeport
Guest
ben tu le di pas et tu explode ensuite...

$date = substr($variable,0,4);
$jour = substr($variable,4,2);

et voila.
 
WRInaute occasionnel
Halte aux bidouilles inutiles! Les Regex utilisent les {} pour extraire un certain nombre de caractères.
Par exemple:

(.{3})-(.{3})
Extrait 2 chaines de 3 caractères séparées par un tiret.
On peut aller plus loin:

(.{3,})-(.{4,7})
Extrait AU MOINS 3 caractères puis une seconde chaine entre 4 et 7 caractères.
 
WRInaute occasionnel
J'en profite pour rajouter qu'il vaut mieux faire les expressions régulière les plus restrictives possibles.
Par exemple, dans ton cas:
Code:
RewriteRule (actualite|autre_categorie|encore_une_autre)/([0-9]{4})([0-9]{2})\.php$ /nouveaute/?type=$1&date=$2&mois=$3
Au moins, ca t'évite de refaire des verifications dans ton code php concernant la validité des paramètres mais ca évite également les attaques de type SQL Injection...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut