Appliquer l'URL Rewriting à un forum SMF

 
MondeGsm.com
Nouveau WRInaute
 
Messages: 17
Inscription: Lun Aoû 08, 2005 14:14

Appliquer l'URL Rewriting à un forum SMF

Message le Mar Aoû 30, 2005 22:59

Voilà, j'ai un forum smf et je me demandais comment appliquer l'url rewriting et tout d'abord qu'es que c'est ? Merci

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6346
Inscription: Lun Juil 05, 2004 14:30

Message le Mar Aoû 30, 2005 23:18

Alors si je comprend bien tu veut appliquer l'url rewriting sans savoir de quoi il s'agit alors qu'en plus tu as des centaines de posts dans ce forum qui expliquent tout ?

MondeGsm.com
Nouveau WRInaute
 
Messages: 17
Inscription: Lun Aoû 08, 2005 14:14

Message le Mar Aoû 30, 2005 23:25

Exactement parce que j'ai tout lu et j'ai rien compris :oops:

appollo
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 130
Inscription: Lun Sep 13, 2004 22:28

Message le Mar Aoû 30, 2005 23:27

oulah tes mal barré toi url rewriting c'est recrire sont url avec les variable par une url jolie avec des mot clef gg aime bien


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 21:58

Message le Mar Aoû 30, 2005 23:45

Petite description precise:

Avec le PHP tu as souvent des URL avec de nombreuses variables tel que:
page.php?lien=url&titre=URL_Rewrit

Hors google indexe mal les pages Web avec des variables.

C'est pour cela que nous utilisons l' URL rewrit.

Nous donnons l'apparance d'une page tel que:
page-url-URL_Rewrit.html

qui redirigera sur l' adresse donné au dessus.

Avec une adresse Rewrité plus aucun probleme avec google.

Je sais pas si j'ai été assez clair, en tous cas si tu comprend toujours rien et bien fait des recherches sur le net ou sur le forum.


rottman
WRInaute accro
WRInaute accro
 
Messages: 2096
Inscription: Mar Jan 06, 2004 21:11

Message le Mer Aoû 31, 2005 0:49


MondeGsm.com
Nouveau WRInaute
 
Messages: 17
Inscription: Lun Aoû 08, 2005 14:14

Message le Mer Aoû 31, 2005 10:26

J'ai trouvé ça pour les utilisateur de smf :

Voici le tutorial pour VRAIMENT réécrire les urls D'un forum SMF 1.1 Béta 3 Publique !

avoir de urls sous forme :

http://www.serveur.com/forum/board-11.0

( niveau du tutos : moyen quand vous avez la solution ! et vous l'avez ! )

Donc suposons que vous avez un forum smf ayant cette url :

http://www.serveur.com/forum/

Premiere chose :

Remplacer la derniere fonction de http://www.serveur.com/forum/source/QueryString.php qui se présente sous forme :

Code: Tout sélectionner
// Rewrite URLs to include the session ID.
function ob_sessrewrite($buffer)
{
   global $scripturl, $modSettings, $user_info, $context;

   // If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit.
   if ($scripturl == '' || !defined('SID'))
      return $buffer;

   // Do nothing if the session is cookied, or they are a crawler - guests are caught by redirectexit().  This doesn't work below PHP 4.3.0, because it makes the output buffer bigger.
   if (empty($_COOKIE) && SID != '' && (!$user_info['is_guest'] || (strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false)) && @version_compare(PHP_VERSION, '4.3.0') != -1)
      $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')(\?)?/', '"' . $scripturl . '?' . SID . ';', $buffer);

   // This should work even in 4.2.x, just not CGI.
   if (!empty($modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || @ini_get('cgi.fix_pathinfo') == 1) && $context['server']['is_apache'])
   {
      // Let's do something special for session ids!
      if (defined('SID') && SID != '')
         $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?(?:' . SID . ';)((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html?' . SID . '\$2\"'", $buffer);
      else
         $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);
   }

   // Return the changed buffer.
   return $buffer;
}


par :

Code: Tout sélectionner
// Rewrite URLs to include the session ID.
function ob_sessrewrite($buffer)
{
   global $scripturl, $modSettings, $user_info, $context;

   // If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit.
   if ($scripturl == '' || !defined('SID'))
      return $buffer;

   // Do nothing if the session is cookied, or they are a crawler - guests are caught by redirectexit().  This doesn't work below PHP 4.3.0, because it makes the output buffer bigger.
   if (empty($_COOKIE) && SID != '' && (!$user_info['is_guest'] || (strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false)))
      $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')(\?)?/', '"' . $scripturl . '?' . SID . '&', $buffer);
   // You can't do both, because session_start() won't catch the session if you do.  But this should work even in 4.2.x, just not CGI.
   else
      $buffer = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+)(#[^"]*)?"/e', "'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'", $buffer);

   // Return the changed buffer.
   return $buffer;


ensuite ajouter cette ligne à http://www.serveur.com/forum/index.php :

Code: Tout sélectionner
$scripturl2 = '/';


juste après :

Code: Tout sélectionner
// Get everything started up...
define('SMF', 1);
@set_magic_quotes_runtime(0);
error_reporting(E_ALL);
$time_start = microtime();


Ligne 37 environ

ensuite :

Editez ces 3 fichiers :

Sources/BoardIndex.php
Sources/Display.php
Sources/MessageIndex.php


Remplacer les expressions contenant :

Code: Tout sélectionner
'<a href="' . $scripturl . '?topic=' .


par :

Code: Tout sélectionner
'<a href="' . $scripturl . '/forum/topic-' .


puis toujours dans ces fichiers

Code: Tout sélectionner
'<a href="' . $scripturl . '?board=' .


par :

Code: Tout sélectionner
'<a href="' . $scripturl . '/forum/board-' .


Ensuite rechercher dans vos fichiers ****.template.php et vos 3 fichiers sources précédement modifiés les codes contenant :

Code: Tout sélectionner
?board=


remplacer les par :

Code: Tout sélectionner
/forum/board-


idem pour les codes contenant :

Code: Tout sélectionner
?topic=


changer par :

Code: Tout sélectionner
/forum/topic-


ensuite il faudra déclarer la variable globale dans vos fichiers ****.template.php comme ceci

Code: Tout sélectionner
global $scripturl2,


déclarer partout ou cela est néccéssaire.

déclaré la aussi dans display.php ces lignes sont en générale en haut de page mais méfiez vous.

puis configurez votre .htaccess placé dans votre repertoir : /forum/ de cette façon ( ceci peut varier selon les différents serveurs moi c'est papache ) :

Code: Tout sélectionner
RewriteEngine On
RewriteRule ^topic-([^/]+)[/]?$ /forum/index.php?topic=$1 [L]
RewriteRule ^board-([^/]+)[/]?$ /forum/index.php?board=$1 [L]


et voila mes amis vos urls seront sous forme de :

http://www.serveur.com/forum/board-11.0

et vos topics :

http://www.serveur.com/forum/topic-72.0

a+

bjp
WRInaute passionné
WRInaute passionné
 
Messages: 602
Inscription: Lun Mai 12, 2003 14:23

Message le Mer Aoû 31, 2005 11:16

Ceci dit, l'intérêt est assez limité. D'une part GG référence bien ce forum. Le mien a été lancé il y a 15 jours et déjà pas mal de posts sont référencés

http://www.google.fr/search?hl=fr&c2cof ... -bts&meta=

D'autre part, SMF est encore en version béta et donc il va subir probablement des modifs dans les semaines à venir.

MondeGsm.com
Nouveau WRInaute
 
Messages: 17
Inscription: Lun Aoû 08, 2005 14:14

Message le Mer Aoû 31, 2005 13:39

Oui mais les modification sont limités et l'url rewriting fonctionne sur ton forum mais ne fonctionne pas avec tous les hébergeurs :?

 

Modérateurs: HawkEye, WebRankInfo, fandecine

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. 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