URL rewriting sur forum

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics


rsca-zone
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 21 Juin 2008

URL rewriting sur forum

Message le Mar Aoû 26, 2008 0:04

Bonsoir,

Comme madri me la conseiller je vien voir si quelqu'un peut pas venir m'aidé pour mes urls réecrite.

Je suis sous un forum punBB et j'ai installé leur module pour l'url rewr et ca a été la catastrophe ca donnait des urls super compliqué donc j'ai du le combiné avec deux autres mods enfin pour finir voilà ou j'en suis :

Je me trouve avec des urls de ce format, (exemple pour un topic)
-http://www.rsca-zone.be/t165-Liverpool-Standard.html
Comme j'ai lu sur ce forum il est mieux d'avoir les mots clés les plus importants vers l'avant. Donc je pense que l'idéal serait d'avoir,
-http://www.rsca-zone.be/Liverpool-Standard-t165.html

Donc voilà ma question est de savoir quels modifications effectués pour obtenir ce résultat ?

Le contenu de mon .htaccess :
Code: Tout sélectionner
RewriteEngine on
RewriteRule ^f([0-9]+)(.*).html$ viewforum.php?id=$1 [L]
RewriteRule ^t([0-9]+)(.*).html$ viewtopic.php?id=$1 [L]
RewriteRule ^p([0-9]+)(.*).html$ viewtopic.php?pid=$1 [L]
RewriteRule ^(.*).rss$ extern.php?action=$1&type=rss [L]
RewriteRule ^blabla.html$ index.php [L]


La ligne de la page php qui affiche le lien :
Code: Tout sélectionner
$subject = '<a href="'.makeurl("t", $cur_topic['id'], $cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].'&nbsp;'.pun_htmlspecialchars($cur_topic['poster']).'</span>';


Merci d'avance si quelqu'un peut m'aider, je pense qu'il faut faire une modification dans les deux fichiers.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Aoû 26, 2008 6:48

pour le .htaccess il faut mettre par exemple :
Code: Tout sélectionner
RewriteRule -t([0-9]+)\.html$ viewtopic.php?id=$1 [L]

pour le lien il faut surement modifier la fonction makeurl


rsca-zone
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 21 Juin 2008

Message le Mar Aoû 26, 2008 10:42

Salut lamogere merci de coup de main.
Voici ma fonction makeurl
Code: Tout sélectionner
<?php
function makeurl($type, $id, $name) {
   # Type must be "f" for forum, "t" for topic or "p" for post
   # ID is the id of the content wanted
   # Name is the title of the category or topic
   

   $words = explode(" ", $name);
   $url;
   foreach ($words as $word) {
      if(strlen($word) > 3)
         $url .= '-' . $word;
   }
   $url = strtr($url,'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ/','AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn-');
   $url = urlencode($type . $id . $url . ".html");

   return $url;
}
?>


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Aoû 26, 2008 10:53

ce code va modifier les url pour tous les "type"
sinon il faut tester $type
Code: Tout sélectionner
<?php
function makeurl($type, $id, $name) {
   # Type must be "f" for forum, "t" for topic or "p" for post
   # ID is the id of the content wanted
   # Name is the title of the category or topic
   

   $words = explode(" ", $name);
   $url;
   foreach ($words as $word) {
      if(strlen($word) > 3) {
         $url .= $word . '-';
   }
   $url = strtr($url,'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ/','AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn-');
   $url = urlencode($url . $type . $id . ".html");

   return $url;
}
?>


rsca-zone
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 21 Juin 2008

Message le Mar Aoû 26, 2008 11:12

Il ne faut pas modifier également la ligne php de la page ?


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Aoû 26, 2008 12:15

non c'est la fonction qui format l'url


rsca-zone
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 21 Juin 2008

Message le Mar Aoû 26, 2008 12:33

Ca marche enfin, je te remercie beaucoup.
Mais bizarrement depuis cette modification j'ai tout de même des erreurs en haut de page :
Warning: Cannot modify header information - headers already sent by (output started at /home.3/rscazone/www/include/rewrite.php:19) in /home.3/rscazone/www/header.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /home.3/rscazone/www/include/rewrite.php:19) in /home.3/rscazone/www/header.php on line 32

Warning: Cannot modify header information - headers already sent by (output started at /home.3/rscazone/www/include/rewrite.php:19) in /home.3/rscazone/www/header.php on line 33

Warning: Cannot modify header information - headers already sent by (output started at /home.3/rscazone/www/include/rewrite.php:19) in /home.3/rscazone/www/header.php on line 34


Je les ai cacher avec error_reporting(0); en attendant de trouvé le prob.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Aoû 26, 2008 13:40

Il n'est pas possible de modifier l'entete quand des données ont déjà été envoyés au navigateur. il doit y avoir un appel de la fonction header() mal placé. C'est peut-être tout simplement un retour à la ligne en fin de fichier php qui génère cela.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités