WRInaute discret
Voilà j'avais pas envie de me crever à modifier pleins de fichiers, et je me suis construit ma ptite solution perso pour réécrire toutes les urls de mon forum, et il n'y a que deux fichiers à modifier: includes/sessions.php roll et le .htaccess bien entendu. Vous l'aurez deviné: c'est très bourrin :roll:
Ce système ne pose aucun problème avec le panneau d'administration
(les urls sont modifiées aussi, mais l'.htaccess reformera le bon nom de fichier ensuite )
Temps d'installation: ~2 minutes
Il est conseillé d'installer le mod qui désactive les sessions pour les inivités, vous pourrez le trouver ici (laissez sessions.php ouvert après l'avoir installé ;-) Vous pouvez installer ce mod-là et celui-ci dans l'ordre que vous voulez.)
Pour commencer, les modifs:
Ouvrir includes/sessions.php
Trouver
ajouter après
Trouver
Remplacer par
Trouver
Ajouter avant
Ouvrir /.htaccess:
(jolis hein mes p'tis chinois ? :lol
Bref: append_sid() prend l'url donnée, ajoute un sid si nécessaire, lui supprime l'extension .php, lui remplace le "?" par un ".", les "&" par des "-" et les "=" par des "__" (fallait faire gaffe aux search_id :roll
Par exemple:
Devient
Facile hein ?
Oui mais cette solution va aussi ajouter dans l'url "-sid__id_de_la_session", et du coup, on a la "faille" sid dont j'ai lu quelques infos à ce propos... c'est vraiment grave docteur ?
Bon en fait je m'apperçois qu'il y a longtemps, j'avais modifié append_sid(), pour contenter google et un autre bot, de la façon suivante:
(tiens, un truc à modifier là, avec mon système: plus bon le 'sid='...)
Donc ça fachera pas trop google (par contre la table des sessions elle doit s'en prendre un coup quand google passe: à chaque page vu une nouvelle est créée logiquement :shock: je me demande quel est le pire :?)
Semi-autre question:
Dans phpbb, un message est accessible de deux façons: soit son id de message, soit l'id du sujet et la page du message. Sachant qu'il y a x messages par page de sujet aximum, cela fait que google doit indexer x+1 fois la même page, je me trompe ? Mauvais ça si on veut pas se faire blacklisté :? Et impossible de faire de l'url rewriting avec ma solution...
Solution possible: la page qui renvoie le plus à des viewtopic.php?p=message_id, c'est search.php (?search_id=unanswered surtout pour les bots...) vous croyez qu'on meta robots noindex,nofollow serait suffisant ?
Ce système ne pose aucun problème avec le panneau d'administration
(les urls sont modifiées aussi, mais l'.htaccess reformera le bon nom de fichier ensuite )
Temps d'installation: ~2 minutes
Il est conseillé d'installer le mod qui désactive les sessions pour les inivités, vous pourrez le trouver ici (laissez sessions.php ouvert après l'avoir installé ;-) Vous pouvez installer ce mod-là et celui-ci dans l'ordre que vous voulez.)
Pour commencer, les modifs:
Ouvrir includes/sessions.php
Trouver
Code:
function append_sid($url, $non_html_amp = false)
{
global $SID, $phpEx;
Code:
if(strpos($url, '#')){
$url2 = explode('#', $url);
$url = $url2[0];
$url2[1] = '#' . $url2[1];
} else {
$url2 = array($url,'');
}
Code:
if ( !empty($SID) && !preg_match('#sid=#', $url) )
Code:
if ( !empty($SID) && !preg_match('#sid__#', $url) )
Code:
return($url);
}
?>
Code:
$url = str_replace(array('?','&', '&', '=', '.'.$phpEx), array('.', '-', '-', '__', ''), $url);
$url.= '.html' . $url2[1]
Ouvrir /.htaccess:
Code:
RewriteEngine on
RewriteRule ^([^\.]+)\.html$ $1.php [L]
RewriteRule ^([^\.]+)\.([^_\-]+|[^_\-]+_[^_\-]+)__([^\-]*)\.html$ $1.php?$2=$3& [L,qsa]
RewriteRule ^([^\.]+)\.([^_\-]+|[^_\-]+_[^_\-]+)__([^\-]*)-(.+)\.html$ $1.$4.html?$2=$3& [n,qsa]
Bref: append_sid() prend l'url donnée, ajoute un sid si nécessaire, lui supprime l'extension .php, lui remplace le "?" par un ".", les "&" par des "-" et les "=" par des "__" (fallait faire gaffe aux search_id :roll
Par exemple:
Code:
http://www.notredomaine.net/memberlist.php?mode=posts&order=DESC&start=50
Code:
http://www.notredomaine.net/memberlist.mode__posts-order__DESC-start__50.html
Oui mais cette solution va aussi ajouter dans l'url "-sid__id_de_la_session", et du coup, on a la "faille" sid dont j'ai lu quelques infos à ce propos... c'est vraiment grave docteur ?
Bon en fait je m'apperçois qu'il y a longtemps, j'avais modifié append_sid(), pour contenter google et un autre bot, de la façon suivante:
Code:
global $SID, $HTTP_SERVER_VARS, $phpEx;
if ( !empty($SID) && !eregi('sid=', $url) && !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') && !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'slurp@inktomi.com;'))
{
$url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
}
...
Donc ça fachera pas trop google (par contre la table des sessions elle doit s'en prendre un coup quand google passe: à chaque page vu une nouvelle est créée logiquement :shock: je me demande quel est le pire :?)
Semi-autre question:
Dans phpbb, un message est accessible de deux façons: soit son id de message, soit l'id du sujet et la page du message. Sachant qu'il y a x messages par page de sujet aximum, cela fait que google doit indexer x+1 fois la même page, je me trompe ? Mauvais ça si on veut pas se faire blacklisté :? Et impossible de faire de l'url rewriting avec ma solution...
Solution possible: la page qui renvoie le plus à des viewtopic.php?p=message_id, c'est search.php (?search_id=unanswered surtout pour les bots...) vous croyez qu'on meta robots noindex,nofollow serait suffisant ?