Ahh, je vois, phpnuke intègre complètement phpBB.
Le mieux serait de mettre en place un forum test pour pouvoir verifier deux ou trois trucs.
Les rewriterules devront être adaptés, mais rien de méchant.
Autre détail, les mod rewrite phpBB SEO ne réécrivent que les URLs qui correspondent à du contenu direct, pas de réécriture des sondages, groupes, recherches etc ...
L'idée étant de n'optimiser que ce qui compte pour des recherches afin d'économiser des ressources serveur et de ne pas trop optimiser des pages qui, en ayant plus de liens que les sujets risqueraient de nous faire perdre du temps.
Mais nous feront en sorte de conserver la fonctionnalité de toutes les anciennes URL, en les redirigeant quand c'est nécessaire (catégories, forums et sujets).
Donc, si tu te sent de faire deux ou trois test sur un forum test, cela avancera plus vite et cela nous permettra de basculer au moment ou tout est prêt.
Donc, tout d'abord le .htaccess, pour le
mod phpBB SEO intermédiaire :
- Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#########################################################
# PHPBB SEO REWRITE RULES #
#########################################################
# AUTHOR : DCZ http://www.phpbb-seo.com/
# STARTED : 01/2006
#####################################################
# FORUMS PAGES
########################
# FORUM PROTECTION RULE
RewriteRule ^.+/([^/]+\.html)$ /modules.php?name=Forums&file=index [R=301,L]
# CATEGORIES
RewriteRule ^.+-vc([0-9]+)\.html$ /modules.php?name=Forums&file=index&c=$1 [QSA,L]
# PAGINATED FORUM
RewriteRule ^.+-vf([0-9]+)-([0-9]+)\.html$ /modules.php?name=Forums&file=viewforum&f=$1&start=$2 [QSA,L]
# FORUM
RewriteRule ^.+-vf([0-9]+)\.html$ /modules.php?name=Forums&file=viewforum.&f=$1 [QSA,L]
# PAGINATED TOPIC
RewriteRule ^topic([0-9]+)-([0-9]+)\.html$ /modules.php?name=Forums&file=viewtopic&t=$1&start=$2 [QSA,L]
# TOPIC
RewriteRule ^topic([0-9]+)\.html$ /modules.php?name=Forums&file=viewtopic&t=$1 [QSA,L]
# POST
RewriteRule ^post([0-9]+)\.html$ /modules.php?name=Forums&file=viewtopic&p=$1 [QSA,L]
#PROFILES
RewriteRule ^membre([0-9]+)\.html$ /modules.php?name=Forums&file=profile.php&mode=viewprofile&u=$1 [QSA,L]
# END PHPBB PAGES
#####################################################
Je pense, si tu souhiates que les profils de tes membre soitent bien indexés, de conserver leur réécriture actuelle, en remplaçant :
- Code: Tout sélectionner
#PROFILES
RewriteRule ^membre([0-9]+)\.html$ /modules.php?name=Forums&file=profile.php&mode=viewprofile&u=$1
Par :
- Code: Tout sélectionner
#PROFILES
RewriteRule ^viewprofile-([0-9]+)\.html$ /modules.php?name=Forums&file=profile.php&mode=viewprofile&u=$1
Dans le .htaccess et en remplaçant :
- Code: Tout sélectionner
"membre\\1.html".if_query('\\2')."",
Par :
- Code: Tout sélectionner
"viewprofile-\\1.html".if_query('\\2')."",
dans includes/sessions.php, la partie modifié par le mod rewritephpBB SEO.
A la suite de ces rewriterule, tu conserves tes anciennes, pour permettre au zéro duplicate de faire son travail, car il faut que ces anciennes URL continuent de marcher pour disparaître des index des moteurs de recherche :
ancienne-url.html ==> .htaccess ==> script.php?var ==> http 301 ==> nouvelle-url ==> .htaccess ==> script.php?var ==> la page
A ce stade, il faudrait installer la partie php du mod, encore une fois il faut modifier la façon de construire les URL, je pense qu'on doit pas être loin avec ça pour la fonction append_sid (includes/sessions.php) :
- Code: Tout sélectionner
function append_sid($url, $non_html_amp = false)
{
global $SID;
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
global $phpEx, $seo_cat_name, $seo_forum_name;
$amp = ($non_html_amp) ? '&' : '&';
$find = array( $amp.'start=0',
$amp.'postdays=0',
$amp.'topicdays=0',
$amp.'postorder=asc',
);
$url = str_replace ($find, "", $url);
if ( $seo_cat_name ) {
$urlin = array( "'(?)modules." . $phpEx . "?name=Forums&file=index&c=([0-9]+)(" . $amp . "){0,1}'",
// mx Sitemaps Module (cat URL injection)
//"'(?)sitemaps([0-9]+)\.html(".$amp."){0,1}'",
);
$urlout = array( "" . format_url($seo_cat_name) . "-vc\\1.html" . if_query('\\2') . "",
// mx Sitemaps Module (cat URL injection)
//"" . format_url($seo_cat_name) . "-sc\\1.html".if_query('\\2')."",
);
$url = preg_replace($urlin, $urlout, $url);
}
if ( $seo_forum_name ) {
$urlin = array( "'(?)modules." . $phpEx . "?name=Forums&file=viewforum" . $amp . "f=([0-9]+)" . $amp . "start=([0-9]+)(" . $amp . "){0,1}'",
"'(?)modules." . $phpEx . "?name=Forums&file=viewforum" . $amp . "f=([0-9]+)(" . $amp . "){0,1}'",
// mx Sitemaps Module (forum URL injection + pagination)
//"'(?)forum-map([0-9]+)\.html" . $amp . "start=([0-9]+)(" . $amp . "){0,1}'",
//"'(?)forum-map([0-9]+)\.html(".$amp."){0,1}'",
);
$urlout = array( "" . format_url($seo_forum_name)."-vf\\1-\\2.html" . if_query('\\3') . "",
"" . format_url($seo_forum_name)."-vf\\1.html" . if_query('\\2') . "",
// mx Sitemaps Module (forum URL injection + pagination)
//"".format_url($seo_forum_name)."-fmp\\1-\\2.html".if_query('\\3')."",
//"".format_url($seo_forum_name)."-fmp\\1.html".if_query('\\2')."",
);
$url = preg_replace($urlin, $urlout, $url);
}
$urlin = array( "'(?)modules." . $phpEx . "?name=Forums&file=viewtopic" . $amp . "t=([0-9]+)" . $amp . "start=([0-9]+)(" . $amp . "){0,1}'",
"'(?)modules." . $phpEx . "?name=Forums&file=viewtopic" . $amp . "t=([0-9]+)(" . $amp . "){0,1}'",
"'(?)modules." . $phpEx . "?name=Forums&file=viewtopic" . $amp . "p=([0-9]+)(" . $amp . "){0,1}'",
"'(?)modules." . $phpEx . "?name=Forums&file=profile" . $amp . "mode=viewprofile" . $amp . "u=([0-9]+)(" . $amp . "){0,1}'",
// mx Sitemaps Module (mxBB map URL + pagination)
//"'(?)mx-map\.html".$amp."start=([0-9]+)(".$amp."){0,1}'",
);
$urlout = array( "topic\\1-\\2.html" . if_query('\\3') . "",
"topic\\1.html" . if_query('\\2') . "",
"post\\1.html" . if_query('\\2') . "",
"membre\\1.html" . if_query('\\2') . "",
// mx Sitemaps Module (mxBB map URL + pagination)
//"mx-map\\1.html".if_query('\\2')."",
);
$url = preg_replace($urlin, $urlout, $url);
$url = (substr($url, strlen($url) - 1, 1) == '?') ? substr($url, 0, strlen($url) - 1) : $url;
// www.phpBB-SEO.com SEO TOOLKIT END
if ( !empty($SID) && !preg_match('#sid=#', $url) )
{
$url .= ( ( strpos($url, '?') !== false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
}
return $url;
}
Quand on a verifié tout cela, je te PM le zéro dupe
++