Bonsoir,
Peut-être en s'inspirant des modifs que j'ai faites récemment sur propres.php
function recuperer_parametres_url(&$fond, $url) {
global $contexte;
$id_objet = 0;
// Migration depuis anciennes URLs ?
// Correction MDB 080809 de bug ((article )?)
if ($GLOBALS['_SERVER']['REQUEST_METHOD'] != 'POST' AND
(preg_match(
',(^|/)((article|breve|rubrique|mot|auteur|site)(\.php3?|[0-9]+\.html)
([?&].*)?)$,', $url, $regs)
)) {
$type = $regs[3];
$id_objet = intval($GLOBALS[$id_table_objet = id_table_objet($type)]);
}
/* Compatibilite urls-page */
else if (preg_match(
// 3 lignes améliorées MDB 080809 pour éviter bug à l'appel spip.php?articleN
// qd le titre de l'article commence par articleM
// ou + généralement qd la breve,rubrique etc. commence par breveM, rubriqueM
',(spip.php)[?/&](article|breve|rubrique|mot|auteur|site)[=]?([0-9]+),',
$url, $regs)) {
$type = $regs[2];
$id_objet = $regs[3];
}
if ($id_objet) {
$func = "generer_url_$type";
$url_propre = $func($id_objet);
if (strlen($url_propre)
AND !strstr($url,$url_propre)) {
// correction de bug : ajout 080809 de la ligne suivante
include_spip('inc/headers');
http_status(301);
// recuperer les arguments supplementaires (&debut_xxx=...)
$reste =
preg_replace('/^&/','?', preg_replace("/[?&]$id_table_objet=$id_objet/",'',$regs[5]));
redirige_par_entete("$url_propre$reste");
}
}
/* Fin compatibilite anciennes urls */
Je suis curieux de savoir si cela peut aider,
Marc
---------
Selon Dom Pineau <dom@u2france.com>:
Bonjour
j'ai un petit problème, depuis que je suis passé avec des url de type
html comme celle là http://www.u2france.com/article12941.html, les
anciennes url de type http://www.u2france.com/spip.php?article7172 que
l'on trouve toujours sur google ne fonctionnent plus. J'ai essayé de
modifier mon .htaccess mais je pense ne pas avoir la bonne règle.
Y a t il une bonne âme pour me donner une piste pour obtenir le bon
RewriteRule.
Cordialement
Dom