PhpBB et URL Rewriting : les solutions !
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

mahefarivony - WRInaute accro

- Messages: 11405
- Inscription: 14 Oct 2002
dans tes regles faut pt'et mettre un truc dans ce genre
au lieu de
- 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

- Messages: 462
- Inscription: 11 Aoû 2003
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.
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

- Messages: 18
- Inscription: 1 Nov 2003
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é :
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!
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

- Messages: 11405
- Inscription: 14 Oct 2002
en mettant un truc dans ce genre
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$ /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]
- St3phane
- Nouveau WRInaute

- Messages: 18
- Inscription: 1 Nov 2003
mahefarivony a écrit:peut etre ?
- Code: Tout sélectionner
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.htm$ /forums/viewtopic.php?t=$1&start=$2 [L]
J'ai testé avec cette modif mais sans succès. L'hébergeur m'assure que le mod_rewrite est activé!
- marck5
- WRInaute discret

- Messages: 106
- Inscription: 13 Sep 2003
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é

- Messages: 713
- Inscription: 1 Mar 2003
Google me référence que les pages avec sessions
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
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é

- Messages: 1277
- Inscription: 14 Oct 2003
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?
Quelqu'un a t'il déjà eu ce problème?
- spacejoe
- Nouveau WRInaute

- Messages: 1
- Inscription: 25 Fév 2004
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 :
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 :
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 :\
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

- Messages: 19420
- Inscription: 19 Avr 2002
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...
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é

- Messages: 619
- Inscription: 16 Jan 2004
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
par
Dans ce même fichier, remplacez
par
Dans le fichier constants.php (dans le dossier includes ), avant
ajoutez
Si vous définissez la constante précédente à faux, c'est à dire si vous remplacez le code précédent par
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)
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.
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.
Dernière édition par Twister le Ven Juin 25, 2004 19:46, édité 3 fois.
- calou
- Nouveau WRInaute

- Messages: 38
- Inscription: 30 Mar 2004
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 ??
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

- Messages: 4
- Inscription: 6 Avr 2004
Bonjour à toutes et tous!
bon... je suis un peu perdu la... serait-ce due à la quantité de message sur ce topic??
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!
bon... je suis un peu perdu la... serait-ce due à la quantité de message sur ce topic??
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!
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 :
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Tutoriel URL Rewriting
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- l'URL Rewriting expliqué aux débutants
- Passage à l'heure d'été sur un forum phpBB3
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Design de WRI version 3
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
