Le libellé du titre dans l'URL de votre forum phpBB V2

Kaizen

WRInaute discret
Bonjour,

Je me suis inspiré de vos posts et de vos remarques sur https://www.webrankinfo.com/forum/t/le-nom-du-titre-dans-lurl-de-votre-forum-phpbb.24693/ pour faire le mod ci-joint.

Par rapport aux mod poposé par Ohax, dont j'ai repris et adapté une partie du code (.htaccess en particulier) :
  • vitesse de traitement amélorée
  • les chiffres contenus dans un titre sont conservés dans l'url
  • le titre apparait sur toutes les pages (celles de type viewtopic.php?t=74505&start=8595 n'étaient pas prisent en charge)
  • le titre des forums apparait dans l'url
  • seuls les invités ont des url "re-writées"

Je n'ai pas traité les aspect SID ni optimistation par supression des liens inutiles pour les invités. Le mod Able2Know.com SEO -http://www.able2know.com/forums/viewtopic.php?t=15132 le fait très bien, bien qu'on puisse aller plus loin encore (contactez-moi si vous êtes interessés)


Un grand merci à Ohax, j'aprécie l'esprit dans lequel tu partages ton travail. ;-)
J'aimerai avoir votre avis sur "la chose". Il serait sympa de faire évoluer le concept pour arriver à quelque chose de poussé.

Télécharger :
Version 0.2.2
Version 0.1.1

Je vous rapelle que ces versions sont toujours au stade "beta" et ne devraient donc pas être utilisées en environnement de production.
 

Fabrice P.

Nouveau WRInaute
c'est fou tu fais un post super intéressant et t'a pas de réponse...

je vais tester ton truc... pour l'instant la modif que j'avais faite sur la base de celle de Hoax se limitait au titre de la première page d'un topic

sinon pour l'indexation des pages, j'ai ajouté ceci
Code:
<META name="robots" content="noindex,nofollow,noarchive"><META name="msnbot" content="noindex,nofollow,noarchive">

ou ça

Code:
<META name="robots" content="index,follow,noarchive"><META name="msnbot" content="index,follow,noarchive">

selon que le topic se trouve dans un certaines rubriques ou non : en effet, je ne veux indexer que certaines rubriques de mes forums.

si ça intéresse je pourrai mettre le code

en attendant je teste ton truc ! :)
 

Kaizen

WRInaute discret
Fabrice P. a dit:
c'est fou tu fais un post super intéressant et t'a pas de réponse...
Merci :D
selon que le topic se trouve dans un certaines rubriques ou non : en effet, je ne veux indexer que certaines rubriques de mes forums.
si ça intéresse je pourrai mettre le code
Personellement, j'oblige tout simplement l'inscription pour pouvoir lire certains forums qui ne doivent pas être indexé. Mais ton code pourrait en interesser plus d'un, tu devrais le publier. ;-)
 

Kaizen

WRInaute discret
Je me demande s'il ne serait pas interessant de changer les liens de type
Code:
ftopicX--titre-de-la-page.html (présent sur la page forumX.html)
pour
Code:
ftopicX-0-titre-de-la-page.html (qui donne la pagination)
Les deux liens pointant sur le même contenu, on éviterai un autre duplicate. 8)
 

Ohax

WRInaute accro
en effet c'est une trés bonne idée

ce nouvel url rewriting va ouvrir de nouvelles perspectives en matière de referencement de forums phpbb y comprit (et surtout) en duppicate


j'hésite à refaire mon url rewriting sous cette forme


je vai voir comment je peu mi prendre pour le robots.txt et le htaccess. :)
 

Fabrice P.

Nouveau WRInaute
c'est sûr ce serait intéressant mais est-ce qu'à force de traitement on va pas trop solliciter le serveur ?

sinon petite erreur dans le htaccess
Code:
RewriteRule ^setopic_([0-9]*)-([a-zA-Z0-9]*).* /forum/viewtopic.php?t=$1&highlight=$2
Il faut enlever le _ juste après setopic.

Sinon des tests que j'ai pu faire ça marche niquel.

Je te donne un backlink (hélas avec un maigre PR !) sur le site de ton profil en remerciement si tu es ok.
 

Ohax

WRInaute accro
Kaizen a dit:
Je me demande s'il ne serait pas interessant de changer les liens de type
Code:
ftopicX--titre-de-la-page.html (présent sur la page forumX.html)
pour
Code:
ftopicX-0-titre-de-la-page.html (qui donne la pagination)
Les deux liens pointant sur le même contenu, on éviterai un autre duplicate. 8)

à tu une petite idée sur la modification à apporter?
 

Fabrice P.

Nouveau WRInaute
Il y a aussi les urls pour les liens vers les derniers sujets à parser...

Mais bon celui qui applique les consignes abletoknow a du virer ses liens je crois.

il s'agit de ces liens-là :

Code:
		$last_post_url = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" border="0" /></a>';

Pour être propre, on pourrait aussi mettre le code de Kaizen

Code:
      // Start Search Engine Friendly URLs with title mod
      $change_space = "-";
      $url_title = $topic_title;
      while ($url_title{0} == $change_space){
         $url_title = substr($url_title,1);
      }
      $url_title=strtolower($url_title);
      $url_title=strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
      $url_title=ereg_replace(' ',$change_space,$url_title);
      $url_title=ereg_replace('[^a-z0-9_\-]','',$url_title);
      $url_title=ereg_replace('--','-',$url_title);
      // End Search Engine Friendly URLs with title mod

Dans une fonction dans le fichier common, ça éviterait de la duppliquer.
 

Kaizen

WRInaute discret
Fabrice P. a dit:
c'est sûr ce serait intéressant mais est-ce qu'à force de traitement on va pas trop solliciter le serveur ?
Je ne pense pas que cela soit très gourmand. Je ferais des tests de performance la semaine prochaine (vacances :) ), et comparerai avec un forum "vierge". Je publierai les résultats ici.

Fabrice P. a dit:
sinon petite erreur dans le htaccess
Code:
RewriteRule ^setopic_([0-9]*)-([a-zA-Z0-9]*).* /forum/viewtopic.php?t=$1&highlight=$2
Il faut enlever le _ juste après setopic.
Je corrige ça, merci ;-)

Fabrice P. a dit:
Je te donne un backlink (hélas avec un maigre PR !) sur le site de ton profil en remerciement si tu es ok.
On ne dit jamais non :D
 

Kaizen

WRInaute discret
Pour changer les liens de type
Code:
ftopicX--titre-de-la-page.html (présent sur la page forumX.html)
pour
Code:
ftopicX-0-titre-de-la-page.html (qui donne la pagination)

Dans includes/page_header.php
Remplacer
Code:
"ftopic\\1--\\2.html"
par
Code:
"ftopic\\1--0--\\2.html"

Je met à jour le mod.
 

sdamain

WRInaute passionné
Question bête. Est il possible d'adapter un rewriting existant du type ftopicxxxx.html en ce genre de rewriting sans perdre le référencement des topics indexés en ftopicxxxx.html ?
 

Ohax

WRInaute accro
avec un bon htaccess oui ;-)


je travaille sur ça pour désindexer tout mon forum et le réindexer avec cette modification
 

Fabrice P.

Nouveau WRInaute
Fabrice P. a dit:
Il y a aussi les urls pour les liens vers les derniers sujets à parser...

Mais bon celui qui applique les consignes abletoknow a du virer ses liens je crois.

il s'agit de ces liens-là :

Code:
		$last_post_url = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" border="0" /></a>';
au temps pour moi en fait ses liens apparaissent de la forme "sutraxxx" et sont donc bloqués par le robots.txt.

Ce mod est génial ! Merci Kaizen ! 8)
 

Kaizen

WRInaute discret
Jette un oeil au SEO mod d'AbleToKnown, cela vaut vraiment le détour (beaucoup de manips pour faire monter le PR).
 

Ohax

WRInaute accro
je vient d'installer ton adaptation de l'url rewriting


je l'ai modifié pour ajouter cette règle dans le robots.txt afin de désindexer progressivement les anciens topics

Disallow: /ftopic-
 

Kaizen

WRInaute discret
Je fais tout ça sur un serveur de test avant de mettre en ligne. Je suis du genre "prudent-parano" :lol:
 

Lambo

WRInaute discret
Moi je dis chapeau.
Avoir passé du temps et le partager avec tout le monde, ça c'est un esprit qu'on aime rencontrer sur le net.

Je pense que je vais récupérer quelques idées :) Pasque j'ai po de PHPBB, je suis du genre à redévelopper tout par moi même :D
 

kiwii

Nouveau WRInaute
Jolis tests !

Vos connaissances me laissent sans voix ! :roll:
Est-ce que vous pouvez me conseiller un tutoriel permettant de réécrire des urls à la volée en reprenant le titre des pages afin d'obtenir des url intelligentes. Comme celles des blogs par exemple.

Bonne continuation,

Merci[/url]
 

yannouk

WRInaute passionné
Je viens d'effectuer toutes les modifications...Deux problemes:
1/ le htaccess ne fonctionne pas (pourquoi ne pas le mettre pret a copier sans # au fait?)
j'ai donc du reprendre celui de ohax qui lui fo^nctionne tres bien. Avec le tien j'ai une erreur apache 550 internal server error
2/Avec le htaccess de ohax, ca marche si je tape une url rewrittée a la main, certes mais sur mon forum les url sont toujours sous la forme non rewrittée...Pourtant, parmi les modifs, celle qui change les url a été faite non?

Merci d'avance,
yan
 

kiwii

Nouveau WRInaute
Réponse au problème 1)

yannouk a dit:
Je viens d'effectuer toutes les modifications...Deux problemes:
1/ le htaccess ne fonctionne pas (pourquoi ne pas le mettre pret a copier sans # au fait?)
j'ai donc du reprendre celui de ohax qui lui fo^nctionne tres bien. Avec le tien j'ai une erreur apache 550 internal server error


Change les droits sur le fichier de Kaisen tout simplement (chmod 755 par exemple).

:wink:
 

Ohax

WRInaute accro
ça arrive parfois que le htaccess ne s'upload pas correctement

reassye plusieurs fois au pire ;-)
 

yannouk

WRInaute passionné
je vais essayer. L'erreur que je rencontre dans mon /2 est directement liée a cette erreur de htaccess?
 

Ohax

WRInaute accro
une erreur de ce type est toujours liée à un htaccess défaillant (souvent lorsque l'upload à raté, ça arrive souvent avec les htaccess :s je n'ai jamais su pourquoi)
 

yannouk

WRInaute passionné
j'ai ma réponse: le htaccess marche mais j'ai toujours pas les urls rewrittées utilisées sur le forum :(
 

yannouk

WRInaute passionné
en fait il ne me reste plus qu'a modifier tous les endroits du code php ou sont generees les url pour que des url en html soient generees.
Mais avant d'envoyer les mains dans le code j'aurais voulu savoir si c'est normal que j'ai a faire ca, si c'est pas sensé fonctionner direct avec le mod que g mis en place...Auquel cas le probleme viendrait d'ailleurs...
 

Patrice A.

WRInaute passionné
yannouk a dit:
en fait il ne me reste plus qu'a modifier tous les endroits du code php ou sont generees les url pour que des url en html soient generees.
Mais avant d'envoyer les mains dans le code j'aurais voulu savoir si c'est normal que j'ai a faire ca, si c'est pas sensé fonctionner direct avec le mod que g mis en place...Auquel cas le probleme viendrait d'ailleurs...
quand tu modifies le includes/page_header.php alors automatiquement TOUS les liens deviennent rewrités. As-tu fait cette modification ?
 

yannouk

WRInaute passionné
Dj_Apx oui g fait ces modifs.
Ca y'est je viens de trouver l'erreur. En fait kaizen a oublié une partie du code

Il est ecrit
Code:
# 
#-----[ FIND ]------------------------------------------ 
# 

$db->sql_close();

mais aucune action n'est indiquée et ca apsse direct au find suivant.
En fait, a cette etape, voilà ce que j'ai rajouté

Code:
# 
#-----[ AFTER, ADD  ]------------------------------------------ 
# 

if ( !$userdata['session_logged_in'] )
{
$contents = ob_get_contents(); 
ob_end_clean(); 
echo replace_mod_rewrite($contents); 
global $dbg_starttime; 
}

Merci pour tout kaizen et ohax
au fait, pense a editer ton code
A+!
 

yannouk

WRInaute passionné
cette etape terminée, je souhaiterais continuer sur cette voie et mettre en place quelque chose de plus poussé.
kaizen, tu demandes de contacter en pv mais tu risques d'etre assailli, et comme je pense que ca interressera du monde, je formule ma demande d'info ici si tu n'y vois pas d'inconvegnants;)

plutot qu'avoir des liens vers les forums sur l'index du type /forum4.php, je souhaiterais faire pareil que pour les topics, et avoir
/forum4-nom-du-forum.html
J'ai jeté un oeil mais je n'ai pas les capacités pour m'en sortir tout seul ...
 

Kaizen

WRInaute discret
yannouk a dit:
cette etape terminée, je souhaiterais continuer sur cette voie et mettre en place quelque chose de plus poussé.
As-tu installé le AbleToKnow SEO mod ?
Si oui, pour résumer, il y a encore de nombreux liens inutiles aux invités ("citer", liste de membres, profil des modos de chaque forums, titre des messages dans viewtopic, etc...) qu'il est interessant de supprimer. Je ne laisse que le minimum vital aux invités et ajoute des fonctions aux membres (ce qui a en plus l'avantage d'inciter à l'inscription).

yannouk a dit:
plutot qu'avoir des liens vers les forums sur l'index du type /forum4.php, je souhaiterais faire pareil que pour les topics, et avoir
/forum4-nom-du-forum.html
Il faut chercher les liens "viewforum.php" dans index.php et viewtopic.php, leur ajouter le titre du forum, de la même manière que pour le titre des messages, puis mettre à jour le .htaccess en conséquence.

S'il y a d'autre demandes, je prendrai un peu de temps pour vous faire ça. ;-)
 

RedShift2

Nouveau WRInaute
Bonjour,

merci, ce mod est super !
Par contre, j'ai droit à un bug, mineur certes, mais tant qu'à faire, je le signale. Quand je déplace un sujet, dans la page de confirmation, quand je clique sur
"Cliquez ici pour retourner au sujet de discussion"
J'ai droit à une erreur 404. Il faut alors repasser par l'index et le nouveau chemin pour accéder au topic déplacé.

A+
 

yannouk

WRInaute passionné
Kaizen a dit:
As-tu installé le AbleToKnow SEO mod ?
Oui, je l'ai fait avant d'installer le tien.
pour le reste je vais suivre tes conseils meme si g encore du mal a cerner parfaitement l'architecture de phpBB

Kaizen a dit:
Il faut chercher les liens "viewforum.php" dans index.php et viewtopic.php, leur ajouter le titre du forum, de la même manière que pour le titre des messages, puis mettre à jour le .htaccess en conséquence.
S'il y a d'autre demandes, je prendrai un peu de temps pour vous faire ça. ;-)

moi j'en suis surrement pas capable alors je vais demarcher les autres membres pour leur montrer que ce serait genial en esperant que ca puisse te convaincre :p

Merci pour tout
 

Pouzy

WRInaute passionné
Je voudrais savoir si tu as aussi besoin du MOD du Dr_DLP pour faire ce rewriting ou non ? :)
 

arkantos

WRInaute impliqué
Sa marche avec les ? dans le nom des posts ?

J'avais trouvé un script du même type sur le net mais sa bug avec les ?
 

Kaizen

WRInaute discret
arkantos a dit:
Sa marche avec les ? dans le nom des posts ?

J'avais trouvé un script du même type sur le net mais sa bug avec les ?
Le mod va retirer les "?" du titre en les mettant dans l'url.
 

FrenchKiss

WRInaute discret
l faut chercher les liens "viewforum.php" dans index.php et viewtopic.php, leur ajouter le titre du forum, de la même manière que pour le titre des messages, puis mettre à jour le .htaccess en conséquence.

S'il y a d'autre demandes, je prendrai un peu de temps pour vous faire ça.
Moi ça m'intéresse aussi :)

Par ailleurs, chez moi, ça ne fonctionne pas :/
J'ai soigneusement vérifié le code, j'ai même essayé d'adapter le .htaccess, mais rien n'y fait, j'ai des URL bizaroïdes genre
-http://frenchkiss.celeonet.fr/phpBB3/viewtopic.php?t=1&url_title=bienvenue-agrave-phpbb-2
ce qui n'est pas exactement ce à quoi je m'attendais :/

De plus, il me semble bizarre que le fichier index.php ne soit pas modifié lui aussi... Quid des liens vers les forums, ils ne sont pas réécrits ?

En espèrant parvenir à quelque chose ... :)
 

Patrice A.

WRInaute passionné
FrenchKiss a dit:
l faut chercher les liens "viewforum.php" dans index.php et viewtopic.php, leur ajouter le titre du forum, de la même manière que pour le titre des messages, puis mettre à jour le .htaccess en conséquence.

S'il y a d'autre demandes, je prendrai un peu de temps pour vous faire ça.
Moi ça m'intéresse aussi :)

Par ailleurs, chez moi, ça ne fonctionne pas :/
J'ai soigneusement vérifié le code, j'ai même essayé d'adapter le .htaccess, mais rien n'y fait, j'ai des URL bizaroïdes genre
-http://frenchkiss.celeonet.fr/phpBB3/viewtopic.php?t=1&url_title=bienvenue-agrave-phpbb-2
ce qui n'est pas exactement ce à quoi je m'attendais :/

De plus, il me semble bizarre que le fichier index.php ne soit pas modifié lui aussi... Quid des liens vers les forums, ils ne sont pas réécrits ?

En espèrant parvenir à quelque chose ... :)
La modification du includes/page_header.php permet de réécrire à la volée tout lien présent sur phpBB.
Tu trouveras plus d'explication dans l'autre sujet concernant l'URL rewriting avec les titres, lancé par Ohax :wink:
 

milkiway

WRInaute accro
Je ne peux pas vous aider par ce que je n'en ai pas le niveau mais je suis très intéressé par ce MOD, une version finale sera publiée où ?
 

FrenchKiss

WRInaute discret
Pense à tenir un changelog à jour, c'est tjs utile :)
Ceci étant, excellent boulot, merci bcp.

Pour ma part j'en reste à la version de Ohax, car la tienne semble ne pas passer... Peut être la fatigue, je réessaierai demain.
 

keupsonite

Nouveau WRInaute
Je vois pas trop a quoi sa sert
http://monsite.net/ftopic15-0-ouverture-.html
Sans le 0 se serait pas mieux?
http://monsite.net/ftopic15-ouverture.html (sans le 0 et le -)
Ou encore mieux regardez:
http://monsite.net/ouverture-15.html(juste le titre du sujet + id)

Ps:
Je suis aussi intéresser pour les url de type forum-nom-du-forum.html au lieu de forum4.html or forum4.php.
Merci, Keupsonite.
 

a.nonyme4ever

WRInaute occasionnel
Bonjour, et félicitation pour le travail,

J'ai une petite proposition à propos de la forme de URL Rewritée : serait-il possible de faire un petit module dans le panneau d'admin afin de choisir la forme des url?

Bon courage pour la suite,

Flo
 

Ohax

WRInaute accro
keupsonite a dit:
Je vois pas trop a quoi sa sert
http://monsite.net/ftopic15-0-ouverture-.html
Sans le 0 se serait pas mieux?
http://monsite.net/ftopic15-ouverture.html (sans le 0 et le -)
Ou encore mieux regardez:
http://monsite.net/ouverture-15.html(juste le titre du sujet + id)

Ps:
Je suis aussi intéresser pour les url de type forum-nom-du-forum.html au lieu de forum4.html or forum4.php.
Merci, Keupsonite.

cela à été fait pour éviter le duplicate content ;-)

a.nonyme4ever a dit:
Bonjour, et félicitation pour le travail,

J'ai une petite proposition à propos de la forme de URL Rewritée : serait-il possible de faire un petit module dans le panneau d'admin afin de choisir la forme des url?

Bon courage pour la suite,

Flo

il est inutile de changer d'url tous les jours ;-)

logiquement une fois que vous avez url rewrité vous n'y touchez plus ;-)
 

Benefsnet

WRInaute occasionnel
FrenchKiss a dit:
l faut chercher les liens "viewforum.php" dans index.php et viewtopic.php, leur ajouter le titre du forum, de la même manière que pour le titre des messages, puis mettre à jour le .htaccess en conséquence.

S'il y a d'autre demandes, je prendrai un peu de temps pour vous faire ça.
Moi ça m'intéresse aussi :)

Par ailleurs, chez moi, ça ne fonctionne pas :/
J'ai soigneusement vérifié le code, j'ai même essayé d'adapter le .htaccess, mais rien n'y fait, j'ai des URL bizaroïdes genre
-http://frenchkiss.celeonet.fr/phpBB3/viewtopic.php?t=1&url_title=bienvenue-agrave-phpbb-2
ce qui n'est pas exactement ce à quoi je m'attendais :/

De plus, il me semble bizarre que le fichier index.php ne soit pas modifié lui aussi... Quid des liens vers les forums, ils ne sont pas réécrits ?

En espèrant parvenir à quelque chose ... :)


IDEM :cry: . Pour info, je suis chez OVH et j'ai appliquer l'url rewriting de Ohax. Je suis parti de mes fichiers actuels sauf pour le viewforum.php (j'ai pris celui d'origine). Quelqu'un a une solution ?
 

Kaizen

WRInaute discret
a.nonyme4ever a dit:
J'ai une petite proposition à propos de la forme de URL Rewritée : serait-il possible de faire un petit module dans le panneau d'admin afin de choisir la forme des url?

Dans les jours à venir, non, ce n'est pas une priorité. D'ici deux mois, oui, j'y pense serieusement. ;-)
 

Kaizen

WRInaute discret
Benefsnet a dit:
FrenchKiss a dit:
Par ailleurs, chez moi, ça ne fonctionne pas :/
J'ai soigneusement vérifié le code, j'ai même essayé d'adapter le .htaccess, mais rien n'y fait, j'ai des URL bizaroïdes genre
-http://frenchkiss.celeonet.fr/phpBB3/viewtopic.php?t=1&url_title=bienvenue-agrave-phpbb-2
IDEM :cry: . Pour info, je suis chez OVH et j'ai appliquer l'url rewriting de Ohax. Je suis parti de mes fichiers actuels sauf pour le viewforum.php (j'ai pris celui d'origine). Quelqu'un a une solution ?
Même réponse. vérifiez le code inséré dans includes/page_header.php et includes/page_tail.php
 

FrenchKiss

WRInaute discret
En ce qui me concerne, j'ai fait ces essais dans des conditions un peu bancales, je réessaierai proprement lorsque mon changement d'hébergeur sera terminé.
Je suis malgré tout parvenu à une solution qui fonctionne, avec le mod précédent de Ohax. C'est déjà pas mal du tout :)
 

Kaizen

WRInaute discret
FrenchKiss a dit:
Je suis malgré tout parvenu à une solution qui fonctionne, avec le mod précédent de Ohax. C'est déjà pas mal du tout :)
Excellent :D Ce mod utilise exactement le même principe. Si les modifications d'Ohax fonctionnent, les miennes le peuvent aussi. ;-)
 

yannouk

WRInaute passionné
kaizen mon post a fait des petits on est maintenant 3 a souhaiter voir le nom du forum dans l'url :D
il t'en faut combien? ;)
A+!
 

FrenchKiss

WRInaute discret
Oui sans aucun doute - mais je pense que c'est les installer successivement qui provoque un conflit, Ohax a des portions de code que tu "n'utilises" pas ...

Moi ce qui m'intrigue dans ton mod, c'est ça :
Code:
// Start Search Engine Friendly URLs with title mod
         for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
         {
            $goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=" . $j . "&amp;url_title=" . $url_title ) . '">' . $times . '</a>';
         /*
         for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
         {
            $goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=$j") . '">' . $times . '</a>';
         */
         // End Search Engine Friendly URLs with title mod
et plus particulièrement cette ligne :
Code:
 $goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=" . $j . "&amp;url_title=" . $url_title ) . '">' . $times . '</a>';
Ca forme forcémment une url de la forme
"viewtopic.php?t=1&url_title=bienvenue-agrave-phpbb-2" non ?
 

Kaizen

WRInaute discret
Cela va effectivement donner une url de la forme
:arrow: viewtopic.php?t=1&url_title=titre-propre-et-sans-accents
qui sera ensuite réécrite par le le code dans includes/page_header.php pour devenir
:arrow: ftopic1--0--titre-propre-et-sans-accents.html
qui redirigera vers
:arrow: viewtopic.php?t=1&start=0
grace au .htaccess

Pensez que la plupart des portions des code (notament le includes/pages_header.php et le .htaccess) fournies dans le mod diffèrent de celles d'Ohax. Les différences sont minimes mais importantes.
 

FrenchKiss

WRInaute discret
Ouais c'est un peu pourri de sa part, surtout qu'il défend les valeurs open source de phpBB quelques posts plus haut...
 

Pouzy

WRInaute passionné
Oui, j'ai tout remis et mon ancien url rewriting ne marche plus, j'ose ne pas comprendre la ... j'avais fait des backups :cry:

EDIT : J'étais un peu pressé, j'ai tout réup et mon ancien UR remarche ;)
Mais j'aimerai bien avoir celui-ci quand même ^^
 

FrenchKiss

WRInaute discret
Pouzy tu as le mm pb que (je sais plus qui) et moi.
Il y'a donc manifestement un petit problème.

Si néanmoins tu veux un UR qui fonctionne (apparement), essaie le mod duquel est dérivé celui-ci, codé par Ohax à partir des modifs proposées par Doc DLP ... Chez moi ça marche impec, et je réessaierai d'installer CE mod un peu plus tard.
 

Pouzy

WRInaute passionné
J'étais avant chez PhpNet, et impossible d'installer le UR du Doc .. Donc j'ai pas spécialement envie pour l'instant de le refaire, je vais attendre qu'on trouve la soluce pour celui -ci :)

Plutôt que de passer par page_tail.php pour réécrire, n'est - t -il pas possible de le faire direct dans viewforum.php ?

Merci :)
 

Pouzy

WRInaute passionné
Kaizen a dit:
yannouk a dit:
Ca y'est je viens de trouver l'erreur. En fait kaizen a oublié une partie du code
Oups :oops:
Merci.

Le code de ce topic et l'archive ont étés mis à jour.

Je n'ai pas l'impression que ça ait été mis a jour :(
J'ai toujours le Find seul et sans AFTER ADD ou autre après, dans page_tail.php ;)
 

Kaizen

WRInaute discret
Re :oops:
Corrigé.

Pour ceux qui ont installé la version précédente :
Code:
# 
#-----[ FIND ]------------------------------------------ 
#
$db->sql_close();

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
// Start Search Engine Friendly URLs with title mod
$contents = ob_get_contents(); 
ob_end_clean(); 
echo replace_mod_rewrite($contents); 
global $dbg_starttime;
// End Search Engine Friendly URLs with title mod
 

Benefsnet

WRInaute occasionnel
Car maaaaarrrrche !!!!! Kaisen, tu es bien gentil mais ca a failli m'énerver cette histoire ! J'ai lu ce topic (voir heure) et j'allais commencer a tout recommencer avec des fichiers d'origine !!! :?


Au fait, pourquoi avoir mis 2 tirer dans l'url... ????? J'en ai supprimer un et c'est plus beau et les url sont moins longues. En tout cas, merci :wink:
 

Ohax

WRInaute accro
Kaizen a dit:
Re :oops:
Corrigé.

Pour ceux qui ont installé la version précédente :
Code:
# 
#-----[ FIND ]------------------------------------------ 
#
$db->sql_close();

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
// Start Search Engine Friendly URLs with title mod
$contents = ob_get_contents(); 
ob_end_clean(); 
echo replace_mod_rewrite($contents); 
global $dbg_starttime;
// End Search Engine Friendly URLs with title mod


si je fai ça le forum affiche une page blanche pour les invités ;-)


voici la version que j'ai reprit de ton code:

Code:
##############################################################
## MOD Title: Search Engine Friendly URLs with Title
## MOD Author: Kaizen < webmaster at teamatic dot net > (Kaizen) http://www.teamatic.net
## MOD Description: Change urls like viewtopic.php?t=xxxxxx to ftopicxxxxx--title-of-the-topic.html
##                wich give better search engine visibility
## MOD Version: 0.1.0
##
## Installation Level: (Intermediate)
## Installation Time: 10 Minutes
## Files To Edit:    includes/functions.php,
##               includes/page_header.php,
##               includes/page_tail,
##               viewforum.php
##               viewtopic.php
##               
## Included Files: (n/a)
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## This is BETA version ! Use it at your own risks
##
## In order to improve indexing, you should also take a look to :
##      Able2Know.com SEO - http://www.able2know.com/forums/viewtopic.php?t=15132
##
## This mod is inspired by and use code shared by the following persons :
##       Dr DLP    -   http://forums.phpbb-fr.com/viewtopic_39629.html
##       Ohax   -   https://www.webrankinfo.com/forum/t/le-nom-du-titre-dans-lurl-de-votre-forum-phpbb.24693/
## Thanks to them.
##
##############################################################
## MOD History:
##
##   2005-04-03 - Version 0.1.0
##      - first beta published
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

##############################################################
# Create a file named .htaccess in your forum folder
#
# Assuming you phpBB folder is mysite.com/forum use this code (without the "# ")
#
# RewriteEngine On
# RewriteRule ^forums.* /forum/index.php
# RewriteRule ^mforum([0-9]*).* /forum/viewforum.php?f=$1&mark=topics
# RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* /forum/viewforum.php?f=$1&topicdays=$2&start=$3
# RewriteRule ^forum([0-9]*).* /forum/viewforum.php?f=$1
# RewriteRule ^ptopic([0-9]*).* /forum/viewtopic.php?t=$1&view=previous
# RewriteRule ^ntopic([0-9]*).* /forum/viewtopic.php?t=$1&view=next
# RewriteRule ^stopic([0-9]*)-([0-9]*).* /forum/viewtopic.php?t=$1&watch=topic&start=$2
# RewriteRule ^utopic([0-9]*)-([0-9]*).* /forum/viewtopic.php?t=$1&unwatch=topic&start=$2
#
# RewriteRule ^ftopic([0-9]*)--([0-9]*)--([a-zA-Z]*)--([0-9]*)--.* /forum/viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
# RewriteRule ^ftopic([0-9]*)--([0-9]*)--.* /forum/viewtopic.php?t=$1&start=$2
# RewriteRule ^ftopic([0-9]*)--.* /forum/viewtopic.php?t=$1
# RewriteRule ^ftopic([0-9]*)--.html /forum/viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
#
# RewriteRule ^setopic([0-9]*)-([a-zA-Z0-9]*).* /forum/viewtopic.php?t=$1&highlight=$2
# RewriteRule ^sutra([0-9]*).* /forum/viewtopic.php?p=$1
# RewriteRule ^newtopic([0-9]*).* /forum/viewtopic.php?t=$1&view=newest
#
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
includes/functions.php

#
#-----[ FIND ]------------------------------------------
#
function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE)
{
   global $lang;

   $total_pages = ceil($num_items/$per_page);

   if ( $total_pages == 1 )
   {
      return '';
   }

   $on_page = floor($start_item / $per_page) + 1;

   $page_string = '';
   if ( $total_pages > 10 )
   {
      $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;

      for($i = 1; $i < $init_page_max + 1; $i++)
      {
         $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
         if ( $i <  $init_page_max )
         {
            $page_string .= ", ";
         }
      }

      if ( $total_pages > 3 )
      {
         if ( $on_page > 1  && $on_page < $total_pages )
         {
            $page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';

            $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
            $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;

            for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
            {
               $page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
               if ( $i <  $init_page_max + 1 )
               {
                  $page_string .= ', ';
               }
            }

            $page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
         }
         else
         {
            $page_string .= ' ... ';
         }

         for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
         {
            $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>'  : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
            if( $i <  $total_pages )
            {
               $page_string .= ", ";
            }
         }
      }
   }
   else
   {
      for($i = 1; $i < $total_pages + 1; $i++)
      {
         $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
         if ( $i <  $total_pages )
         {
            $page_string .= ', ';
         }
      }
   }

   if ( $add_prevnext_text )
   {
      if ( $on_page > 1 )
      {
         $page_string = ' <a href="' . append_sid($base_url . "&amp;start=" . ( ( $on_page - 2 ) * $per_page ) ) . '">' . $lang['Previous'] . '</a>&nbsp;&nbsp;' . $page_string;
      }

      if ( $on_page < $total_pages )
      {
         $page_string .= '&nbsp;&nbsp;<a href="' . append_sid($base_url . "&amp;start=" . ( $on_page * $per_page ) ) . '">' . $lang['Next'] . '</a>';
      }

   }

   $page_string = $lang['Goto_page'] . ' ' . $page_string;

   return $page_string;
}
#
#-----[ REPLACE WITH ]------------------------------------------
#

// Start Search Engine Friendly URLs with title mod
function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE, $url_title = "")
{
   global $lang;

   $total_pages = ceil($num_items/$per_page);

   if ( $total_pages == 1 )
   {
      return '';
   }

   $on_page = floor($start_item / $per_page) + 1;

   $page_string = '';
   if ( $total_pages > 10 )
   {
      $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;

      for($i = 1; $i < $init_page_max + 1; $i++)
      {
         $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . ($url_title != "" ? "&amp;url_title=" . $url_title : "") .'">' . $i . '</a>';
         if ( $i <  $init_page_max )
         {
            $page_string .= ", ";
         }
      }

      if ( $total_pages > 3 )
      {
         if ( $on_page > 1  && $on_page < $total_pages )
         {
            $page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';

            $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
            $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;

            for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
            {
               $page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . ($url_title != "" ? "&amp;url_title=" . $url_title : "") . '">' . $i . '</a>';
               if ( $i <  $init_page_max + 1 )
               {
                  $page_string .= ', ';
               }
            }

            $page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
         }
         else
         {
            $page_string .= ' ... ';
         }

         for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
         {
            $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>'  : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . ($url_title != "" ? "&amp;url_title=" . $url_title : "") . '">' . $i . '</a>';
            if( $i <  $total_pages )
            {
               $page_string .= ", ";
            }
         }
      }
   }
   else
   {
      for($i = 1; $i < $total_pages + 1; $i++)
      {
         $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . ($url_title != "" ? "&amp;url_title=" . $url_title : "") . '">' . $i . '</a>';
         if ( $i <  $total_pages )
         {
            $page_string .= ', ';
         }
      }
   }

   if ( $add_prevnext_text )
   {
      if ( $on_page > 1 )
      {
         $page_string = ' <a href="' . append_sid($base_url . "&amp;start=" . ( ( $on_page - 2 ) * $per_page ) ) . ($url_title != "" ? "&amp;url_title=" . $url_title : "") . '">' . $lang['Previous'] . '</a>&nbsp;&nbsp;' . $page_string;
      }

      if ( $on_page < $total_pages )
      {
         $page_string .= '&nbsp;&nbsp;<a href="' . append_sid($base_url . "&amp;start=" . ( $on_page * $per_page ) ) . ($url_title != "" ? "&amp;url_title=" . $url_title : "") . '">' . $lang['Next'] . '</a>';
      }

   }

   $page_string = $lang['Goto_page'] . ' ' . $page_string;

   return $page_string;
}
/*
function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE)
{
   global $lang;

   $total_pages = ceil($num_items/$per_page);

   if ( $total_pages == 1 )
   {
      return '';
   }

   $on_page = floor($start_item / $per_page) + 1;

   $page_string = '';
   if ( $total_pages > 10 )
   {
      $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;

      for($i = 1; $i < $init_page_max + 1; $i++)
      {
         $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
         if ( $i <  $init_page_max )
         {
            $page_string .= ", ";
         }
      }

      if ( $total_pages > 3 )
      {
         if ( $on_page > 1  && $on_page < $total_pages )
         {
            $page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';

            $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
            $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;

            for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
            {
               $page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
               if ( $i <  $init_page_max + 1 )
               {
                  $page_string .= ', ';
               }
            }

            $page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
         }
         else
         {
            $page_string .= ' ... ';
         }

         for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
         {
            $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>'  : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
            if( $i <  $total_pages )
            {
               $page_string .= ", ";
            }
         }
      }
   }
   else
   {
      for($i = 1; $i < $total_pages + 1; $i++)
      {
         $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&amp;start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
         if ( $i <  $total_pages )
         {
            $page_string .= ', ';
         }
      }
   }

   if ( $add_prevnext_text )
   {
      if ( $on_page > 1 )
      {
         $page_string = ' <a href="' . append_sid($base_url . "&amp;start=" . ( ( $on_page - 2 ) * $per_page ) ) . '">' . $lang['Previous'] . '</a>&nbsp;&nbsp;' . $page_string;
      }

      if ( $on_page < $total_pages )
      {
         $page_string .= '&nbsp;&nbsp;<a href="' . append_sid($base_url . "&amp;start=" . ( $on_page * $per_page ) ) . '">' . $lang['Next'] . '</a>';
      }

   }

   $page_string = $lang['Goto_page'] . ' ' . $page_string;

   return $page_string;
}
*/
// End Search Engine Friendly URLs with title mod

#
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------
#
$template->set_filenames(array(
   'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl')
);

#
#-----[ AFTER, ADD ]------------------------------------------
#
// Start Search Engine Friendly URLs with title mod
ob_start();
function replace_mod_rewrite($s)
{
   $urlin = array(
      "'(?<!/)viewforum.php\?f=([0-9]*)&amp;topicdays=([0-9]*)&amp;start=([0-9]*)'",
      "'(?<!/)viewforum.php\?f=([0-9]*)&amp;mark=topics'",
      "'(?<!/)viewforum.php\?f=([0-9]*)'",

      "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;view=previous'",
      "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;view=next'",
      "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;view=newest'",
     "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)watch=topic&(?:amp;)start=([0-9]*)'",
     "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)unwatch=topic&(?:amp;)start=([0-9]*)'",
     
     "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;start=([0-9]*)&amp;url_title=([a-z0-9_\-]*)'",
     "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;start=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;highlight=([a-zA-Z0-9]*)&amp;url_title=([a-z0-9_\-]*)'",
      "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;start=([0-9]*)&amp;url_title=([a-z0-9_\-]*)'",
     "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;url_title=([a-z0-9_\-]*)'",
    
      "'(?<!/)viewtopic.php\?t=([0-9]*)&amp;highlight=([a-zA-Z0-9]*)'",
      "'(?<!/)viewtopic.php\?t=([0-9]*)'",
      "'(?<!/)viewtopic.php\?p=([0-9]*)'");

   $urlout = array(
      "viewforum\\1-\\2-\\3.php",
      "mforum\\1.php",
      "forum\\1.php",

      "ptopic\\1.php",
      "ntopic\\1.php",
      "newtopic\\1.php",
      "stopic\\1-\\2.php",
      "utopic\\1-\\2.php",
    
      "ftopic\\1--\\2--\\3--\\4--\\5.html",
      "ftopic\\1--\\2--\\3--\\4--\\5\\6.html",
      "ftopic\\1--\\2--\\3.html",
     "ftopic\\1--0--\\2.html",
    
      "setopic\\1-\\2.html",
      "ftopic\\1.php",
      "sutra\\1.php");

   $s = preg_replace($urlin, $urlout, $s);
   return $s;
}
// End Search Engine Friendly URLs with title mod

#
#-----[ OPEN ]------------------------------------------
#
includes/page_tail

#
#-----[ FIND ]------------------------------------------
#
$db->sql_close();

#
#-----[ FIND ]------------------------------------------
#
   $gzip_contents = ob_get_contents();
   ob_end_clean();

#
#-----[ AFTER, ADD ]------------------------------------------
#
    // Start Search Engine Friendly URLs with title mod
   echo replace_mod_rewrite($contents);
      global $dbg_starttime;
   // End Search Engine Friendly URLs with title mod
   


#
#-----[ OPEN ]------------------------------------------
#
viewforum.php

#
#-----[ FIND ]------------------------------------------
#
if( ( $replies + 1 ) > $board_config['posts_per_page'] )
      {
         $total_pages = ceil( ( $replies + 1 ) / $board_config['posts_per_page'] );
         
#
#-----[ BEFORE, ADD ]------------------------------------------
#         
      // Start Search Engine Friendly URLs with title mod
      $change_space = "-";
      $url_title = $topic_title;
      while ($url_title{0} == $change_space){
         $url_title = substr($url_title,1);
      }
      $url_title=strtolower($url_title);
      $url_title=strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
      $url_title=ereg_replace(' ',$change_space,$url_title);
      $url_title=ereg_replace('[^a-z0-9_\-]','',$url_title);
      $url_title=ereg_replace('--','-',$url_title);
      // End Search Engine Friendly URLs with title mod

#
#-----[ FIND ]------------------------------------------
#
         for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
         {
            $goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=$j") . '">' . $times . '</a>';

#
#-----[ REPLACE WITH ]------------------------------------------
#
         // Start Search Engine Friendly URLs with title mod
         for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
         {
            $goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=" . $j . "&amp;url_title=" . $url_title ) . '">' . $times . '</a>';
         /*
         for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
         {
            $goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=$j") . '">' . $times . '</a>';
         */
         // End Search Engine Friendly URLs with title mod

#
#-----[ FIND ]------------------------------------------
#
      $view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");

#
#-----[ REPLACE WITH ]------------------------------------------
#
      // Start Search Engine Friendly URLs with title mod
      $view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;url_title=" . $url_title);
      // $view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");
      // End Search Engine Friendly URLs with title mod
      
#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
      $pagination = ( $highlight != '' ) ? generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;postdays=$post_days&amp;postorder=$post_order&amp;highlight=$highlight", $total_replies, $board_config['posts_per_page'], $start) : generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;postdays=$post_days&amp;postorder=$post_order", $total_replies, $board_config['posts_per_page'], $start);

#
#-----[ REPLACE WITH ]------------------------------------------
#

      // Start Search Engine Friendly URLs with title mod
      $change_space = "-";
      $url_title = $topic_title;
      while ($url_title{0} == $change_space){
         $url_title = substr($url_title,1);
      }
      $url_title=strtolower($url_title);
      $url_title=strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
      $url_title=ereg_replace(' ',$change_space,$url_title);
      $url_title=ereg_replace('[^a-z0-9_\-]','',$url_title);
      $url_title=ereg_replace('--','-',$url_title);
      
      $pagination = generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id, $total_replies, $board_config['posts_per_page'], $start, TRUE, $url_title);
      //$pagination = ( $highlight != '' ) ? generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;postdays=$post_days&amp;postorder=$post_order&amp;highlight=$highlight", $total_replies, $board_config['posts_per_page'], $start) : generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;postdays=$post_days&amp;postorder=$post_order", $total_replies, $board_config['posts_per_page'], $start);
      // End Search Engine Friendly URLs with title mod

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
 

Benefsnet

WRInaute occasionnel
Le probleme c'était juste une ligne en trop apparament...en tout cas je l'ai enlevé et tout marche bien à présent :eek:
 

Kaizen

WRInaute discret
Benefsnet a dit:
Au fait, pourquoi avoir mis 2 tirer dans l'url... ????? J'en ai supprimer un et c'est plus beau et les url sont moins longues. En tout cas, merci :wink:
Poste un message ayant "3 petits cochons" comme titre : ça bug.
D'où le "--", qui permet de faire la différence en le "-" remplaçant les espaces dans le titre et ceux séparant les infos sur la page à charger et le titre.
 

Kaizen

WRInaute discret
Benefsnet a dit:
Je voudrais mettre un tiret à la place de / et " . On peut avec ce mod ? Si oui comment ? merci !
essaie de remplacer
$url_title=strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
par
$url_title=strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ\/"','aaaaeeeeiiiioooouuuuycn--');
(non testé)
 

Benefsnet

WRInaute occasionnel
Pour les / et \ ca marche nikel, par contre le " ca met un quot :

--www.forum-pompier.com/ftopic267-0-quotles-3-petits-cochonsquot.htm

:roll:
 

FrenchKiss

WRInaute discret
à ce moment là vérifie que tu as bien ton
Code:
$sujet_nom=ereg_replace('"','',$sujet_nom);
sur ton viewforum ...
 

Patrice A.

WRInaute passionné
hep

les guillemets et autres caractères spéciaux HTML sont encodés dans les titres par leurs codes html !

Donc dans le titre tu as "&quote;" pour "
"&lt;" pour <
etc
il faut donc que tu essaies de remplacer ces chaînes, et pas les caractères associés :wink:
 

Pouzy

WRInaute passionné
Bon, j'énumère les bugs :D

:arrow: Lorsqu'il y a un /!\ dans le titre d'un topic, exemple :
http://www.aidoforum.com/forum/ftopic20 ... C-conseils
Il y a le %5C après le .html => A pu de mise en page :eek:

:arrow: Les liens sur l'index ne sont pas rewrités :) ( j'pense que c'est à venir, j'attendrai :) )

:arrow: Comme sur l'URL citée plus haut, j'ai une petite modif qui colore mes titres entre crochets, et la couleur apparaît dans l'url .. pas top :)

voilà, merci ! :)
 

Benefsnet

WRInaute occasionnel
Pouzy a dit:
Bon, j'énumère les bugs :D

:arrow: Lorsqu'il y a un /!\ dans le titre d'un topic, exemple :
http://www.aidoforum.com/forum/ftopic20 ... C-conseils
Il y a le %5C après le .html => A pu de mise en page :eek:

:arrow: Les liens sur l'index ne sont pas rewrités :) ( j'pense que c'est à venir, j'attendrai :) )

:arrow: Comme sur l'URL citée plus haut, j'ai une petite modif qui colore mes titres entre crochets, et la couleur apparaît dans l'url .. pas top :)

voilà, merci ! :)

Toi tu as supprimé ta page (automatique) partenaire sans prévenir, pas bien ca !
 

RedShift2

Nouveau WRInaute
Euh, c'est normal que quand on fait une recherche google sur un topic, il ne référence que le lien vers le forum qui contient le topic et pas le lien vers le topic lui-même ?
 

Benefsnet

WRInaute occasionnel
ya un probleme chez moi, ftopic212.htm ,par exemple, crée une erreur 404. Le forum appelle ce type d'url (ftopic.htm) lors d'une suppression de messages ou de réponse a un sondage.

J'ai donc éssaye de modifier cette ligne
Code:
ftopic\\1.php",
(en le remplacant par "ftopic\\1-\\2.php",) dans cette partie de la page page_header.php :
Code:
$urlout = array( 
      "viewforum\\1-\\2-\\3.php", 
      "mforum\\1.php", 
      "forum\\1.php", 

      "ptopic\\1.php", 
      "ntopic\\1.php", 
      "newtopic\\1.php", 
      "stopic\\1-\\2.php", 
      "utopic\\1-\\2.php", 
     
      "ftopic\\1--\\2--\\3--\\4--\\5.html", 
      "ftopic\\1--\\2--\\3--\\4--\\5\\6.html", 
      "ftopic\\1--\\2--\\3.html", 
     "ftopic\\1--0--\\2.html", 
     
      "setopic\\1-\\2.html", 
      "ftopic\\1.php", 
      "sutra\\1.php");

Mais cela crée une page ftopic212-0.htm/ (oui avec un /). Ce / crée un bug (plus d'images : que du texte).

Merci de m'aider pour résoudre ce probleme :cry:
 

bjp

WRInaute occasionnel
Votre fichier htaccess doit être bien lourd, sans parler des ressources processeurs.
J'ai le même htaccess que wri, assez ancien du reste, qui ne met pas tout en url rewriting, mais qui me permet sans problème d'avoir près de 90 000 pages du forum référencé.
 

Benefsnet

WRInaute occasionnel
bjp a dit:
Votre fichier htaccess doit être bien lourd, sans parler des ressources processeurs.
J'ai le même htaccess que wri, assez ancien du reste, qui ne met pas tout en url rewriting, mais qui me permet sans problème d'avoir près de 90 000 pages du forum référencé.

L'avantage, c'est pas la facilté d'indextion mais les mots clés dans l'url :wink:
 

bjp

WRInaute occasionnel
Cela ne suffit pas pour obtenir un bon placement. C'est d'abord le placement du site qui va conférer à la page une bonne position, pas le titre du message. Surtout-avec-des-titres-à-ralonge-!
 

Kaizen

WRInaute discret
Bonsoir des Antilles 8)

Comme promis, je vous livre la v. 0.2.0 (à temps : il est 18h00 ici :lol:)

Change log :
2005-04-11 - Version 0.2.0
- rewrite urls only for guest (wich improve speed for members)
- added title in viewforum links
- added functions in includes/functions.php instead of repeating code
- removed rewrited links disallowed to search engine
- renamed links to forums and topics to make them as smaller as possible
- bug fixed in includes/page_tail.php

Pour ceux à qui mes choix pour la v. 0.2 ne conviendraient pas, je laisse la 0.1.1 en téléchargement.

Je n'aurais accès à Internet qu'épisodiquement durant deux semaines. Je ne serais donc pas vraiment disponible pour le support ;-)
 

nautiljon

WRInaute discret
Petite question le fchier .mod qui contient les modifications à faire, faut tout faire à la main ? ou il s'execute le fichier ? je demande ça car l'extension est .mod.

Merci.
 

Discussions similaires

Haut