PhpBB et URL Rewriting : les solutions !

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


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: 14 Oct 2002

Message le Mar Fév 17, 2004 2:42

dans tes regles faut pt'et mettre un truc dans ce genre

Code: Tout sélectionner
RewriteRule ^forum([0-9]*).* /forum/viewforum.php?f=$1


au lieu de

Code: Tout sélectionner
RewriteRule ^forum([0-9]*).* /viewforum.php?f=$1

JeromeRookie
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 462
Inscription: 11 Aoû 2003

Message le Mar Fév 17, 2004 7:06

c'est etrange...
pourtant c'est très simple; tu peux essayer de reinstaller ton forum et a nouveau de faire la manip.
je tiens à la dispo de ceux que ca intéresse un fichier word avec la procédure.

St3phane
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 18
Inscription: 1 Nov 2003

Message le Mar Fév 17, 2004 14:40

Bonjour,

J'ai essayé de faire un url rewriting sur mon forum, mais ça n'a marché! :(

sachant que le forum est un répertoire à la racine : -www.domaine.com/forums/
voilà le code que j'ai utilisé :

Code: Tout sélectionner
RewriteEngine on

RewriteRule ^viewforum_([0-9]+)_([0-9]+)_([0-9]+)\.htm$ /viewforum.php?f=$1topicdays=$2&start=$3 [L]
RewriteRule ^viewforum_([0-9]+)\.htm$ /viewforum.php?f=$1 [L]
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)_(asc|desc)_([0-9]+)\.htm$ /viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 [L]
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.htm$ /viewtopic.php?t=$1&start=$2 [L]
RewriteRule ^viewtopic_([0-9]+)_newest\.htm$ /viewtopic.php?t=$1&view=newest [L]
RewriteRule ^viewtopic_([0-9]+)_previous\.htm$ /viewtopic.php?t=$1&view=previous [L]
RewriteRule ^viewtopic_([0-9]+)_next\.htm$ /viewtopic.php?t=$1&view=next [L]
RewriteRule ^viewtopic_([0-9]+)\.htm$ /viewtopic.php?t=$1 [L]
RewriteRule ^viewprofile_([0-9]+)\.htm$ /profile.php?mode=viewprofile&u=$1 [L]
RewriteRule ^viewmessage_([0-9]+)\.htm$ /viewtopic.php?p=$1 [L]


Où se situe le problème? J'ai mis ce code dans le répertoire du forum, mais ça n'a pas marché.

Merci de m'éclairer!


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: 14 Oct 2002

Message le Mar Fév 17, 2004 15:41

en mettant un truc dans ce genre

Code: Tout sélectionner
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.htm$ /viewtopic.php?t=$1&start=$2 [L]


il ira chercher viewtopic.php a la racine de ton site et comme tu es dans un sous repertoire, il ne trouvera pas, forcement..

Code: Tout sélectionner
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.htm$ /forums/viewtopic.php?t=$1&start=$2 [L]
peut etre ?

St3phane
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 18
Inscription: 1 Nov 2003

Message le Mar Fév 17, 2004 19:00

mahefarivony a écrit:
Code: Tout sélectionner
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.htm$ /forums/viewtopic.php?t=$1&start=$2 [L]
peut etre ?


J'ai testé avec cette modif mais sans succès. L'hébergeur m'assure que le mod_rewrite est activé! :?

marck5
WRInaute discret
WRInaute discret
 
Messages: 106
Inscription: 13 Sep 2003

Message le Mer Fév 18, 2004 9:19

Bon ben ça marche maintenant avec ce code :

RewriteEngine On
RewriteRule ^forums.* /forum/index.php
RewriteRule ^forum([0-9]*).* /forum/viewforum.php?f=$1&mark=topic
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 ^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 ^sutra([0-9]*).* /forum/viewtopic.php?p=$1

moutyk
WRInaute impliqué
WRInaute impliqué
 
Messages: 713
Inscription: 1 Mar 2003

Google me référence que les pages avec sessions

Message le Sam Fév 21, 2004 20:08

Bonjour,

J'ai un petit probleme avec un des mes forums

Voila j'ai mis en place L UR expliquée précedement j'ai tout fait comme il fallait je pense en tout cas tout fontionne parfaitement

probleme google me référence les pages avec les SID ?

par exemple : /Forum/ftopic5582.html&highlight=&sid=8b8e8e73e0b60621784b81c654e97572 20:15:33 1 64.68.92.178 crawl5.googlebot.com
idem pour les viewforum_9.html
J'en ai deja une dizaine de crawlée comme cela

Ca me fait un peu chier la parceque je vais avoir un paquet de page identique

j'ai apporté les modifs dans le fichier sessions.php pourtant

est ce que que quelqu'un aurait un exemple de fichier sessions.php modifié et qui ne pose pas de probleme avec les SID ou une explication a ca
afin que je modifie au plus vite pour google

Merci de votre aide

sdamain
WRInaute passionné
WRInaute passionné
 
Messages: 1277
Inscription: 14 Oct 2003

Message le Lun Fév 23, 2004 18:55

J'ai suivi la procédure, tout est ok.... sauf que lorsque je veux accéder à la console admoin - Administration des Forums - Gestion, je reçois ce message d'erreur : "No input file specified"

Quelqu'un a t'il déjà eu ce problème?

sdamain
WRInaute passionné
WRInaute passionné
 
Messages: 1277
Inscription: 14 Oct 2003

Message le Mar Fév 24, 2004 15:18

Personne pour me donner un petit coup de main?

spacejoe
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 25 Fév 2004

Message le Jeu Fév 26, 2004 19:03

Bonjour à tous .
j'avoue que j ai ete surpris quand j'ai lu sur votre forum que l'url rewriting est la solution pour l'optimisation d'un forum pour son referencement .

c'est vrai c'est une sollution parmis d'autres ... mais elle reste la plus compliquée, et la moins efficace.

la sollution la plus facile est de zapper les SID de votre url, voici c ki fo faire :
Code: Tout sélectionner
#
#-----[ OUVRIR ]------------------------------------------

includes/sessions.php

#
#-----[ Trouver ]-----
#
$SID = 'sid=' . $session_id;

#
#-----[ Remplacer par ]-
#
if ( $userdata['session_user_id'] != ANONYMOUS ){
   $SID = 'sid=' . $session_id;
} else {
   $SID = '';
}


cette solution precedente reste la plus pratique , si , dans votre forum seuls les membres inscrits peuvent publier des posts.

je l ai recement testé sur mon forum, et ca a l'air de plutot bien marcher .

donc heuuu pour eviter tout hors sujet, voici la solution url-rewriting complete :
Code: Tout sélectionner
Requirements: you need mod_rewrite enabled as well as ability to use .htaccess or modify apache config files.

Implementation:

Step 1. In /includes/page_header.php before

Code:

//
// Generate logged in/logged out status
//


add this code (make sure there are no space breaks at line ends after you paste):

Code:
ob_start();
function replace_for_mod_rewrite(&$s)
{
$urlin =
array(
"'(?<!/)viewforum.php\?f=([0-9]*)&topicdays=([0-9]*)&start=([0-9]*)'",
"'(?<!/)viewforum.php\?f=([0-9]*)&mark=topics'",
"'(?<!/)viewforum.php\?f=([0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&view=previous'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&view=next'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&postdays=([0-9]*)&postorder=([a-zA-Z]*)&start=([0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&start=([0-9]*)&postdays=([0-9]*)&postorder=([a-zA-Z]*)&highlight=([a-zA-Z0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&start=([0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)'",
"'(?<!/)viewtopic.php&p=([0-9]*)'",
"'(?<!/)viewtopic.php\?p=([0-9]*)'",
);
$urlout = array(
"viewforum\\1-\\2-\\3.html",
"forum\\1.html",
"forum\\1.html",
"ptopic\\1.html",
"ntopic\\1.html",
"ftopic\\1-\\2-\\3-\\4.html",
"ftopic\\1.html",
"ftopic\\1-\\2.html",
"ftopic\\1.html",
"sutra\\1.html",
"sutra\\1.html",
);
$s = preg_replace($urlin, $urlout, $s);
return $s;
}


Step 2. In /includes/page_tail.php after

Code:
$db->sql_close();


add this:

Code:
$contents = ob_get_contents();
ob_end_clean();
echo replace_for_mod_rewrite($contents);
global $dbg_starttime;
 


in the same file after

Code:
ob_end_clean();


add this:

Code:
echo replace_for_mod_rewrite($contents);
global $dbg_starttime;


Step 3. In your .htaccess file (if you don't have one create it; should be located in you forum root directory) paste these lines:

Code:
RewriteEngine On
RewriteRule ^forums.* index.php
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1&mark=topic
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1
RewriteRule ^ptopic([0-9]*).* viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic([0-9]*).* viewtopic.php?t=$1&view=next
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^ftopic([0-9]*)-([0-9]*).* viewtopic.php?t=$1&start=$2
RewriteRule ^ftopic([0-9]*).* viewtopic.php?t=$1
RewriteRule ^ftopic([0-9]*).html viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
RewriteRule ^sutra([0-9]*).* viewtopic.php?p=$1


Note: sometimes this .htaccess code won't work properly if the forum is on a subdomain (was the case with me), you may need to try this variation:

Code:
RewriteEngine On
RewriteRule ^forums.* /index.php
RewriteRule ^forum([0-9]*).* /viewforum.php?f=$1&mark=topic
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* /viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^forum([0-9]*).* /viewforum.php?f=$1
RewriteRule ^ptopic([0-9]*).* /viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic([0-9]*).* /viewtopic.php?t=$1&view=next
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* /viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^ftopic([0-9]*)-([0-9]*).* /viewtopic.php?t=$1&start=$2
RewriteRule ^ftopic([0-9]*).* /viewtopic.php?t=$1
RewriteRule ^ftopic([0-9]*).html /viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
RewriteRule ^sutra([0-9]*).* /viewtopic.php?p=$1


Step 4. Very important! In your robots.txt file (goes at the *site* root) add these lines:

Code:
Disallow: /your-forum-folder/sutra*.html$
Disallow: /your-forum-folder/ptopic*.html$
Disallow: /your-forum-folder/ntopic*.html$
Disallow: /your-forum-folder/ftopic*asc*.html$


(This is required to avoid feeding duplicate content to Google)




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

#-----[ FIND ]------------------------------------------
   global $SID;

if ( !empty($SID) && !preg_match('#sid=#', $url) )

#-----[ REPLACE WITH ]------------------------------------------
   global $SID, $HTTP_SERVER_VARS;

   if ( !empty($SID) && !preg_match('sid=', $url) && !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') && !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'slurp@inktomi.com'))

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




ce dernier code a ete trouvé dans le forum officiel de phpbb ... mais aparement ca genere pas mal de bugs ... :\ (je parle pour moi)

----
----

Aussi, mis à part le SID, y a un autre truc qui bloque google , c est le fait d'avoir plus de 100 liens dans la page d accueil du forum, google n aime pas ca :\


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19420
Inscription: 19 Avr 2002

Message le Jeu Fév 26, 2004 19:45

c'est vrai que sans les SID, Google viendra plus facilement. Mais il ne viendra pas indexer toutes les pages, par exemple celles qui y 3 variables ou plus dans l'URL.
ensuite d'autres moteurs n'indexeront pas ou pas bien les pages avec des variables dans l'URL. C'est le cas d'un petit nouveau dont on reparlera...


Twister
WRInaute impliqué
WRInaute impliqué
 
Messages: 619
Inscription: 16 Jan 2004

Message le Mer Mar 24, 2004 15:16

Si cela peut vous aider, voici un code que j'utilise sur phpBB 2.0.8 pour faciliter les passages des robots. Je n'ai pas encore trouvé de bug. Si vous en trouvez, dites le moi.
Ce code réécrit les url des pages à lire et empêche les sid quand le visiteur est un robot. Je me suis inspiré de quelques codes donnés dans ce forum.

Dans le fichier sessions.php ( dans le dossier include ), remplacez
Code: Tout sélectionner
function append_sid($url, $non_html_amp = false)
{
   global $SID;

   if ( !empty($SID) && !preg_match('#sid=#', $url)  )
   {
      $url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
   }

   return $url;
}

par
Code: Tout sélectionner
function append_sid($url, $non_html_amp = false)   //fonction modifiée pour l'url-rewriting
{
   global $SID;

   if ( !empty($SID) && !preg_match('#sid=#', $url)  )
   {
      $url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
   }

   if ( REFERENCEMENT_BOOST )
   {
      $url = url_rewrite( $url );
   }

   return $url;
}

//Fonction qui vérifie si le visiteur est un robot comme google
function est_robot() {
   global $HTTP_SERVER_VARS;
   $RobotsList = array (
      "antibot",
      "appie",
      "architext",
      "bjaaland",
      "digout4u",
      "echo",
      "fast-webcrawler",
      "ferret",
      "googlebot",
      "gulliver",
      "harvest",
      "htdig",
      "ia_archiver",
      "jeeves",
      "jennybot",
      "linkwalker",
      "lycos",
      "mercator",
      "moget",
      "muscatferret",
      "myweb",
      "netcraft",
      "nomad",
      "petersnews",
      "scooter",
      "slurp",
      "unlost_web_crawler",
      "voila",
      "voyager",
      "webbase",
      "weblayers",
      "wget",
      "wisenutbot",
      "acme.spider",
      "ahoythehomepagefinder",
      "alkaline",
      "arachnophilia",
      "aretha",
      "ariadne",
      "arks",
      "aspider",
      "atn.txt",
      "atomz",
      "auresys",
      "backrub",
      "bigbrother",
      "blackwidow",
      "blindekuh",
      "bloodhound",
      "brightnet",
      "bspider",
      "cactvschemistryspider",
      "cassandra",
      "cgireader",
      "checkbot",
      "churl",
      "cmc",
      "collective",
      "combine",
      "conceptbot",
      "coolbot",
      "core",
      "cosmos",
      "cruiser",
      "cusco",
      "cyberspyder",
      "deweb",
      "dienstspider",
      "digger",
      "diibot",
      "directhit",
      "dnabot",
      "download_express",
      "dragonbot",
      "dwcp",
      "e-collector",
      "ebiness",
      "eit",
      "elfinbot",
      "emacs",
      "emcspider",
      "esther",
      "evliyacelebi",
      "nzexplorer",
      "fdse",
      "felix",
      "fetchrover",
      "fido",
      "finnish",
      "fireball",
      "fouineur",
      "francoroute",
      "freecrawl",
      "funnelweb",
      "gama",
      "gazz",
      "gcreep",
      "getbot",
      "geturl",
      "golem",
      "grapnel",
      "griffon",
      "gromit",
      "hambot",
      "havindex",
      "hometown",
      "htmlgobble",
      "hyperdecontextualizer",
      "iajabot",
      "ibm",
      "iconoclast",
      "ilse",
      "imagelock",
      "incywincy",
      "informant",
      "infoseek",
      "infoseeksidewinder",
      "infospider",
      "inspectorwww",
      "intelliagent",
      "irobot",
      "iron33",
      "israelisearch",
      "javabee",
      "jbot",
      "jcrawler",
      "jobo",
      "jobot",
      "joebot",
      "jubii",
      "jumpstation",
      "katipo",
      "kdd",
      "kilroy",
      "ko_yappo_robot",
      "labelgrabber.txt",
      "larbin",
      "legs",
      "linkidator",
      "linkscan",
      "lockon",
      "logo_gif",
      "macworm",
      "magpie",
      "marvin",
      "mattie",
      "mediafox",
      "merzscope",
      "meshexplorer",
      "mindcrawler",
      "momspider",
      "monster",
      "motor",
      "mwdsearch",
      "netcarta",
      "netmechanic",
      "netscoop",
      "newscan-online",
      "nhse",
      "northstar",
      "occam",
      "octopus",
      "openfind",
      "orb_search",
      "packrat",
      "pageboy",
      "parasite",
      "patric",
      "pegasus",
      "perignator",
      "perlcrawler",
      "phantom",
      "piltdownman",
      "pimptrain",
      "pioneer",
      "pitkow",
      "pjspider",
      "pka",
      "plumtreewebaccessor",
      "poppi",
      "portalb",
      "puu",
      "python",
      "raven",
      "rbse",
      "resumerobot",
      "rhcs",
      "roadrunner",
      "robbie",
      "robi",
      "robofox",
      "robozilla",
      "roverbot",
      "rules",
      "safetynetrobot",
      "search_au",
      "searchprocess",
      "senrigan",
      "sgscout",
      "shaggy",
      "shaihulud",
      "sift",
      "simbot",
      "site-valet",
      "sitegrabber",
      "sitetech",
      "slcrawler",
      "smartspider",
      "snooper",
      "solbot",
      "spanner",
      "speedy",
      "spider_monkey",
      "spiderbot",
      "spiderline",
      "spiderman",
      "spiderview",
      "spry",
      "ssearcher",
      "suke",
      "suntek",
      "sven",
      "tach_bw",
      "tarantula",
      "tarspider",
      "techbot",
      "templeton",
      "teoma_agent1",
      "titin",
      "titan",
      "tkwww",
      "tlspider",
      "ucsd",
      "udmsearch",
      "urlck",
      "valkyrie",
      "victoria",
      "visionsearch",
      "vwbot",
      "w3index",
      "w3m2",
      "wallpaper",
      "wanderer",
      "wapspider",
      "webbandit",
      "webcatcher",
      "webcopy",
      "webfetcher",
      "webfoot",
      "weblinker",
      "webmirror",
      "webmoose",
      "webquest",
      "webreader",
      "webreaper",
      "websnarf",
      "webspider",
      "webvac",
      "webwalk",
      "webwalker",
      "webwatch",
      "whatuseek",
      "whowhere",
      "wired-digital",
      "wmir",
      "wolp",
      "wombat",
      "worm",
      "wwwc",
      "wz101",
      "xget",
      "awbot",
      "bobby",
      "boris",
      "bumblebee",
      "cscrawler",
      "daviesbot",
      "ezresult",
      "gigabot",
      "gnodspider",
      "internetseer",
      "justview",
      "linkbot",
      "linkchecker",
      "nederland.zoek",
      "perman",
      "pompos",
      "psbot",
      "redalert",
      "shoutcast",
      "slysearch",
      "ultraseek",
      "webcompass",
      "yandex",
      "robot",
      "crawl"
   );
   $botID = strtolower( $HTTP_SERVER_VARS['HTTP_USER_AGENT'] );
   for ($i = 0; $i < count( $RobotsList ); $i++)
   {
      if ( strstr( $botID, $RobotsList[$i] ) )
      {
      return true;
      }
   }
   return false;
}

//fonction qui réécrit l'url des pages de lecture
function url_rewrite($url){

   $inf_url = parse_url( html_entity_decode( $url ) );
   $get_url = array();
   parse_str( $inf_url['query'], $get_url );

   //index.php
   if ( substr_count( $inf_url['path'], "index" ) == 1 ){
      //les catégories
      if ( count( $get_url ) == 1 && isset( $get_url['c'] )){
         return 'categorie-'.$get_url['c'].'.html';
      }
   }

   //viewforum.php
   if ( substr_count( $inf_url['path'], "viewforum" ) == 1 ){
      //le numéro du forum seul
      if ( count( $get_url ) == 1 && isset( $get_url['f'] )){
         return 'forum-'.$get_url['f'].'.html';
      }
      //f, topicdays et start
      if ( count( $get_url ) == 3 && isset( $get_url['f'] ) && isset( $get_url['topicdays'] ) && isset( $get_url['start'] ) ){
         return 'forum-'.$get_url['f'].'-'.$get_url['topicdays'].'-'.$get_url['start'].'.html';
      }
   }

   //viewtopic.php
   if ( substr_count( $inf_url['path'], "viewtopic" ) == 1 ){
      //le numéro du sujet seul
      if ( count( $get_url ) == 1 && isset( $get_url['t'] )){
         return 'sujet-'.$get_url['t'].'.html';
      }
      //le numéro du sujet seul avec p
      if ( count( $get_url ) == 1 && isset( $get_url['p'] )){
         return 'vsujet-'.$get_url['p'].'.html';
      }
      //le numéro du sujet avec p et highlight
      if ( count( $get_url ) == 2 && isset( $get_url['p'] ) && isset( $get_url['highlight'] )  ){
         return 'vsujet-'.$get_url['p'].'('.urlencode($get_url['highlight']).').html';
      }
      //sujet précédent ou suivant
      if ( count( $get_url ) == 2 && isset( $get_url['t'] ) && isset( $get_url['view'] ) ){
         if ( $get_url['view'] == 'previous' ){
            return 'prec-sujet-'.$get_url['t'].'.html';
         }elseif ( $get_url['view'] == 'next' ){
            return 'suiv-sujet-'.$get_url['t'].'.html';
         }
      }
      //le numéro du sujet et highlight
      if ( count( $get_url ) == 2 && isset( $get_url['t'] ) && isset( $get_url['highlight'] )  ){
         return 'sujet-'.$get_url['t'].'('.urlencode($get_url['highlight']).').html';
      }
      //le numéro du sujet et start
      if ( count( $get_url ) == 2 && isset( $get_url['t'] ) && isset( $get_url['start'] )  ){
         return 'sujet-'.$get_url['t'].'-'.$get_url['start'].'.html';
      }
      //le numéro du sujet et postdays et postorder et start
      if ( count( $get_url ) == 4 && isset( $get_url['t'] ) && isset( $get_url['start'] ) && isset( $get_url['postdays'] ) && isset( $get_url['postorder'] )  ){
         return 'sujet-'.$get_url['t'].'-'.$get_url['start'].'-'.$get_url['postdays'].'-'.$get_url['postorder'].'.html';
      }
      //le numéro du sujet et postdays et postorder et start et highlight
      if ( count( $get_url ) == 5 && isset( $get_url['t'] ) && isset( $get_url['start'] ) && isset( $get_url['postdays'] ) && isset( $get_url['postorder'] ) && isset( $get_url['highlight'] )  ){
         return 'sujet-'.$get_url['t'].'-'.$get_url['start'].'-'.$get_url['postdays'].'-'.$get_url['postorder'].'('.urlencode($get_url['highlight']).').html';
      }

   }
   
   //profile.php
   if ( substr_count( $inf_url['path'], "profile" ) == 1 ){
      //mode=viewprofile et num du profil
      if ( count( $get_url ) == 2 && isset( $get_url['mode'] ) && $get_url['mode'] == "viewprofile" && isset( $get_url['u'] )  ){
         return 'profil-'.$get_url['u'].'.html';
      }
   }

   return $url;
}


Dans ce même fichier, remplacez
Code: Tout sélectionner
$SID = 'sid=' . $session_id;

par
Code: Tout sélectionner
   if ( est_robot() && REFERENCEMENT_BOOST ){   //if ajouté pour supprimer les sessions pour les robots
      $SID = '';
   }else{
      $SID = 'sid=' . $session_id;
   }


Dans le fichier constants.php (dans le dossier includes ), avant
Code: Tout sélectionner
// Session parameters
define('SESSION_METHOD_COOKIE', 100);
define('SESSION_METHOD_GET', 101);

ajoutez
Code: Tout sélectionner
//amélioration du référencement : suppression des sessid pour les robots et url-rewriting
define('REFERENCEMENT_BOOST', true);


Si vous définissez la constante précédente à faux, c'est à dire si vous remplacez le code précédent par
Code: Tout sélectionner
//amélioration du référencement : suppression des sessid pour les robots et url-rewriting
define('REFERENCEMENT_BOOST',false);

votre forum se comportera comme si vous n'aviez rien modifié.

Dans le fichier .htaccess à la racine de votre forum, ajoutez ce code (créez ce fichier s'il n'existe pas)
Code: Tout sélectionner
RewriteEngine On

RewriteRule ^categorie\-([0-9]*)\.html$ index\.php\?c=$1 [L]

RewriteRule ^forum\-([0-9]*)\.html$ viewforum\.php\?f=$1 [L]

RewriteRule ^forum\-([0-9]*)\-([0-9]*)\-([0-9]*)\.html$ viewforum\.php\?f=$1&topicdays=$2&start=$3 [L]

RewriteRule ^sujet\-([0-9]*)\.html$ viewtopic\.php\?t=$1 [L]

RewriteRule ^sujet\-([0-9]*)\-([0-9]*)\.html$ viewtopic\.php\?t=$1&start=$2 [L]

RewriteRule ^sujet\-([0-9]*)\(([^()]*)\)\.html$ viewtopic\.php\?t=$1&highlight=$2 [L]

RewriteRule ^sujet\-([0-9]*)\-([0-9]*)\-([0-9]*)\-([a-zA-Z]*)\.html$ viewtopic\.php\?t=$1&start=$2&postdays=$3&postorder=$4 [L]

RewriteRule ^sujet\-([0-9]*)\-([0-9]*)\-([0-9]*)\-([a-zA-Z]*)\(([^()]*)\)\.html$ viewtopic\.php\?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5 [L]

RewriteRule ^vsujet\-([0-9]*)\.html$ viewtopic\.php\?p=$1 [L]

RewriteRule ^vsujet\-([0-9]*)\(([^()]*)\)\.html$ viewtopic\.php\?p=$1&highlight=$2 [L]

RewriteRule ^prec\-sujet\-([0-9]*)\.html$ viewtopic\.php\?t=$1&view=previous [L]

RewriteRule ^suiv\-sujet\-([0-9]*)\.html$ viewtopic\.php\?t=$1&view=next [L]

RewriteRule ^profil\-([0-9]*)\.html$ profile\.php\?mode=viewprofile&u=$1 [L]


Il ne manque que le fichier robots.txt qui a déjà été décrit dans ce forum.

Ce code est un peu long, mais comme il n'utilise pas les expressions régulières, il ne devrait normalement pas modifier d'adresse qu'il ne faut pas modifier. 8)
Dernière édition par Twister le Ven Juin 25, 2004 19:46, édité 3 fois.

calou
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 38
Inscription: 30 Mar 2004

Message le Mar Mar 30, 2004 1:43

salut je débute dans ce domaine et je viens de faire toutes tes modifs mais quand je me connecte voila le message qui apparait :

You don't have permission to access /mycotdaz/admin/index.php on this server.

à préciser que j'utilise phpbb2.0.8a + ezportal avec .htaccess à la racine qui contient :

DirectoryIndex index.html index.htm portal.php index.php ( comme c'est indiqué sur le mod ezportal )

donc si j ajoutes ce que tu dis dans mon .htaccess , j' ai un message d'erreur et bien sur si je garde la ligne de départ , ca fonctionne , enfin je peux accéder au site !!

donc ??

mindsurfer
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 6 Avr 2004

Message le Mar Avr 06, 2004 12:14

Bonjour à toutes et tous! ;)

bon... je suis un peu perdu la... serait-ce due à la quantité de message sur ce topic?? :P

donc voilà j'ai un seul souhait : qu'une bonne âme veuille bien poster ici un message reprennant les différentes modifications/créations de fichiers à opérer pour avoir des url réécrites et un site facilement visitable par les robots, et ce pour un site en phpBB v.2.0.8 (dernière version en date).

un grand MERCI à celles et ceux qui prendront le temps de s'y atteler! :D

solodown
WRInaute discret
WRInaute discret
 
Messages: 120
Inscription: 7 Avr 2004

Message le Mer Avr 07, 2004 18:54

comment on crée un fichier robot.txt avec bloc note sa je c lol mé je mé koi dedans svp

PhpBB et URL Rewriting : les solutions ! PhpBB et URL Rewriting : les solutions !

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 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 :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Analyse des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

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