Version complète: sur le forum Webmaster Hub : spip 1.9 et URL REwriting propres2/html
Webmaster Hub > Création et exploitation de Sites Internet > Systèmes de publication
oussama
Salut tout le monde

j'ai un site perso sous spip 1.9 que j'aimerai soumettre a google actualités .. le hic c'est quoi moi j'ai choisis le standard "propres2" pour la réécriture des URL's (j'ai quelques 800 articles) et pour qu'un site soit accepté il faut que l'utlde l'actualité comporte trois chiffres .

le standard HTML me diriez vous , sauf que le propres2 et beaucoup mieux pour le référencèrent (je pense)

bref j'ai pensé a a une réécriture du genre monsite.com/id_article-titrearticle.html

bref un mélange entre le propres2 et le HTML .. et je suppose que ca ne pose pas de problème pour le soumettre a google news

j'ai essayé avec le fichier (propres2 dans le dossier ecrire/urls/ )et avec le .htacess mais sans réussir

a savoir que tout ce que je sais sur la réécriture est l'article sur le hub

merci de m'aider si c'est possible

Sallam
NiCoS
Il te faut aussi mettre dans /ecrire/mes_options.php :

CODE
<?php
$type_urls = "propres2";
?>


Cf : http://www.spip.net/fr_article765.html
oussama
merci pour la reponse NiCoS

sauf que mon probleme n'est pas comment choisir "propres2" mais comment la changer


voila ce que j'ai fait :

Dans ecrire/urls/propres.php

j'ai ajouté ca :

CODE
    return $id_article."-"._debut_urls_propres . $url . _terminaison_urls_propres;


mais d'abord il faut convertir les $id_article en chiffre de plus de 3 posision le id_article=1 devient id_article=001 par exemple


et puis la partie la plus .. deficile : (c'est la que je bloque)

CODE
RewriteRule ^[^/\.]+(\.html)?$        spip.php?page=article [QSA,E=url_propre:$0,L]


c'est modifier le .htaccess


merci
axel
Je viens de m'interresser moi aussi à ce problème aujourd'hui. Voici comment j'ai fait :

ouvrir /ecrire/urls/propres.php

Remplacer la fonction existante par :
CODE
function generer_url_breve($id_breve) {
    $url = _generer_url_propre('breve', $id_breve);
    if ($url)
        return _debut_urls_propres . '+'.$url.'+'.$id_breve._terminaison_urls_propres;
    else
        return get_spip_script('./')."?page=breve&id_breve=$id_breve";
}


Ceci donne des urls de breves de la forme /+Titre-de-la-breve+543.html, de la même façon que ce que tu as reussi à faire. Il faut juste garder un + devant le nom de fichier pour que le htaccess reconnaisse bien qu'il s'agit d'une brève.

Ne pas modifier le .htaccess. Pour enlever le numéro qu'on a insérer il suffit toujours dans /ecrire/url/propres.php, et dans la fonction function recuperer_parametres_url(&$fond, $url), de remplacer le code :

CODE
    else if (preg_match(',^\+(.*?)\+?$,', $url_propre, $regs)) {
        $type = 'breve';
        $url_propre = $regs[1];
    }


par le code :
CODE
    else if (preg_match(',^\+(.*?)\+?$,', $url_propre, $regs)) {
        $type = 'breve';
        $url_propre = $regs[1];
        // Compatibilite avec la numérotation des brèves
        $url_propre = preg_replace(',[0-9]+$,i', '', $url_propre);
    }


Voilà chez moi (http://www.bothan-online.com/) ca marche ! tongue.gif
oussama
Ah merci beaucoup c'est tres gentil de votre part !!


c'est le genre d'URL's qu'on accepte chez google actualités n'es ce pas !??


encore merci monsieur
oussama
Desolé mais c'est quoi le code pour que le changement soit attribué au articles et non au breves !?

merci
axel
Oui en ajoutant un numéro dans l'url, google news devrait insérer les breves. Encore faut-il leur indiquer ton site.

J'ai un correctif à apporter à la solution que j'ai donné.

Si tu utilises les urlspropres2, il faut insérer le code :
CODE
    // Compatibilite avec la numérotation des brèves
    $url_propre = preg_replace(',\+([0-9]+)\.html$,i', '+', $url_propre);

juste avant la ligne :
CODE
    // Compatilibite avec propres2
    $url_propre = preg_replace(',\.html$,i', '', $url_propre);


et laisser inchangé le code :
CODE
    else if (preg_match(',^\+(.*?)\+?$,', $url_propre, $regs)) {
        $type = 'breve';
        $url_propre = $regs[1];
    }


Je ne pense pas que ce soit une bonne idée d'ajouter un numéro aux articles.

L'url des articles est le plus simple : Nom-de-l-article.html. Si tu ajoutes un numéro à la fin, ca va créer des problèmes avec les articles qui ont un numéro dans leur titre. Par exemple, il faudra traiter l'url d'un article A : article-a123.html -> article-a. Là, pas de problème. Mais si tu as un article 2 : article-2123.html -> article. Et là ca coince.

Avec les brèves, on a contourné le problème avec l'utilisation des signes +.

En plus, si le but est d'être référencé par Google News, il ne vont pas t'accepter dans leur base si tes articles passent pour des brèves.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.