PhpBB et URL Rewriting : les solutions !

Discussion dans 'URL Rewriting et .htaccess' créé par JeromeRookie, 4 Janvier 2004.

  1. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    Bonjour,
    sans mettre en place l'url rewriting sur phpbb(trop compliqué pour moi... :oops: ) j'ai modifié le fichier session.php selon ce qui m'avait été expliqué ici pour enlever les numero de session et permettre donc à google de visiter mon forum.

    par contre, chaque fois que je souhaite me servir de la plate-forme d'admin du forum, je dois remodifier ce meme fichier.
    Y a-t-il une solution (simple) pour éviter cela?

    question subsidiaire : pourquoi phpbb ne met pas a dispo un forum url rewritée ???

    merci et bonne année à tous
     
  2. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 175
    J'aime reçus:
    0
    si si, je suis sur d'avoir vu un jour un pack (mod's) permettant de rendre le phpBB "spiderable".. mais je sais plus ou j'ai vu ca.. une petite recherche sur... google par exemple ? :lol:
     
  3. DAVID86
    DAVID86 WRInaute impliqué
    Inscrit:
    15 Octobre 2003
    Messages:
    834
    J'aime reçus:
    0
    "phpBB spiderable" 140 résultats, et bientot 141 avec cette page... mdr
     
  4. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    je ne comprends pas la blague.... encore faut-il savoir quel est le nom...
    merci pour la réponse en tous cas...
     
  5. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 175
    J'aime reçus:
    0
  6. DAVID86
    DAVID86 WRInaute impliqué
    Inscrit:
    15 Octobre 2003
    Messages:
    834
    J'aime reçus:
    0
  7. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    c'est celui que je viens de lire mais je ne suis pas informaticien et cela me parait complexe....
     
  8. DAVID86
    DAVID86 WRInaute impliqué
    Inscrit:
    15 Octobre 2003
    Messages:
    834
    J'aime reçus:
    0
  9. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    629
    J'aime reçus:
    0
  10. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    629
    J'aime reçus:
    0
  11. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    salut Kali
    j'ai regardé ce site mais n'ai rien trouvé en relation avec ma question...
     
  12. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    629
    J'aime reçus:
    0
    Lol, c'est le forum que je viens d'url rewriter en quelques minutes en suivant la méthode du forum phpbb...
     
  13. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
  14. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    629
    J'aime reçus:
    0
    Voici la méthode vu dans ce fameux post, en faite on trouve la bonne solution sur 2 posts, j'ai suivit exactement celle-ci-dessous pour obtenir un forum phpbb url rewrité en quelques minutes de modification des fichiers concernés en ftp et sans connaissances de php...

    Acid Paul wrote:
    I have modified the Googlifier mod for PHPNuke with PHPBB2 port found at www.orientalgate.org to work with standalone PHPBB2. This mod allows you to turn dynamic forum urls into static ones and therefore get better indexed and ranked by Google & co., as well as picked by search engines, that don't like dynamic URLs (e.g. AllTheWeb).

    The effect is like this:

    > viewtopic.php?t=157 => ftopic28.html

    (affects all topics, posts, forum folders and pagination; member profiles, search, lorgin and usergroups URL stay unchanged; the main page remains index.php)

    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:
    // 
    // Short URL implementation 
    // 
    ob_start(); 
    function replace_for_mod_rewrite(&$s) 
    { 
    $urlin = 
    array( 
    "'(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=([0-9]*)&(?:amp;)start=([0-9]*)'", 
    "'(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)mark=topics'", 
    "'(?<!/)viewforum.php\?f=([0-9]*)'", 
    "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)view=previous'", 
    "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)view=next'", 
    "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)start=([0-9]*)'", 
    "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)start=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)highlight=([a-zA-Z0-9]*)'", 
    "'(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)start=([0-9]*)'", 
    "'(?<!/)viewtopic.php\?t=([0-9]*)'", 
    "'(?<!/)viewtopic.php&(?:amp;)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)

    Step 5. Apply Google Mod #1 described at this page.

    Congrats! Now you now have traffic-generating mogul.
     
  15. DAVID86
    DAVID86 WRInaute impliqué
    Inscrit:
    15 Octobre 2003
    Messages:
    834
    J'aime reçus:
    0
    houla, je teste ça demain moi :)
     
  16. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    Merci Kali,
    je teste immediatement!!!
    juste une question comme ca : je n'ai pas de fichier robot.txt... que dois-je faire ?
     
  17. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    ca fonctionne!
    tu es vraiment un champion Kali!!!

    il ne me reste plus qu'à savoir quoi faire avec le robot.txt...

    de plus, chez moi (contrairement à chez toi), l'url est rewritée mais contient encore un numéro de session du type : http://www.ateliermagique.com/forum/for ... f2e4d221ca

    je sais l'enlever en modifiant l'include/sessions.php mais toi, tu ne l'as pas fait et ca fonctionne chez toi non ?

    d'ici la je remets l'ancienne version en ligne pour que GG ne me pose pas de pb de double referencement...

    merci encore et a te lire.
     
  18. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    HORREUR !!!
    je n'arrive plus a acceder à la plate-forme d'admin... cela arrivait lorsque je changeais la fonction sesions.php mais je savais la refaire venir.

    j'ai fait toutes les manips à l'envers et la gestion des forums ne marche plus...

    as-tu le meme problème Kali ?
     
  19. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    Pas de chance Jerome

    je viens a l'instant de modifier mon fichier session.php
    j'ai plus les sid et ca marche

    j'ai toujours acces a l'admin
     
  20. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    tu as mis en commentaire le if ???
     
  21. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    oui

    Code:
    function append_sid($url, $non_html_amp = false) 
    { 
      global $SID; 
    //  if ( !empty($SID) && !eregi('sid=', $url) ) 
    //  { 
    //     $url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID; 
    //  } 
      return($url); 
    }
     
  22. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 175
    J'aime reçus:
    0
    oui comme tout le monde mais est-ce que tu peux "jouer" avec les fonctionnalités ? gestion des forums, etc etc
     
  23. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    et cela combiné a la procédure qu'a trouvé Kali, tu as url rewrité ?
    ca remarche... j'avais du faire une erreur....

    Connais-tu la reponse à mon post ci-dessus sur robot.txt ???
    as-tu compris la step 5 de la procédure?
     
  24. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    oui ca fonctionne
    je viens de verouiller un forum pour faire le test

    par contre je fais fais l'url rewriting car mon hebergeur de merde ne le gere pas
     
  25. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    chez moi, je ne sais pas de koi venait le pb... j'ai l'impression que mon hebergeur mettait du temps a prendre en compte le nouveau fichier sessions.php...

    donc tu ne sais faire que disparaitre le Sid ?
     
  26. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 175
    J'aime reçus:
    0
    c'est deja enorme...
     
  27. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    non c'est pas enorme
    je suis pas du tout une bete en php
    remplacer du code je sais faire
    mais programmé et comprendre le code non :)
     
  28. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    ce n'etait bien entendu pas une critique....

    je remarque que personne ne me réponds sur ma question au sujet du step 5 et du robots.txt....

    J'espere que tous ceux qui passe sur ce fil se rendent bien compte de la PERLE qu'a trouvé Kali !!!! il mérite une médaille et tous les non informaticiens qui ont cherché a url rewrité leur phpbb sauront l'apprécier à sa juste valeur...

    pour Kali, hip hip hip !!!! hourraaaa
     
  29. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
  30. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    oui
    le numero de session SID
    et les paramètres trop nombreux qu'il faut enlever par la procédure de l'url rewriting... ci-dessus
     
  31. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    jonh2 modifie ton ficher session.php comme indiqué plus haut
    et ca marcheras

    ensuite tu vas sur webmasterplan pour analyser ton site et tu verras que les sid ont disparu
     
  32. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    c'est ca qu'il faut modifier ?

    je l'ait remplacer par ca :

    mais apparament, ca ne marche pas... Que dois-je remplacer d'autre ?
     
  33. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    quel service de ce site utilises-tu pour verifier cela ?
     
  34. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    c'est normal, ce n'est pas la bonne fonction que tu as modifiée.... :lol: tu dois modifier la fonction append_sid (la dernière) du fichier include/sessions.php...
    :idea: :D
     
  35. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    629
    J'aime reçus:
    0
    L'étape 5 concerne la suppression des sid...
     
  36. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    ok merci Kali
    Peux-tu me dire si tu as du mettre en commentaire ce if pour le supprimer ou si la procédure que tu avais trouvé sur phpbb.com a suffit chez toi ?

    enfin, si je crée mon fichier robots.txt, dois-je le mettre à la racine du site ou a celle du forum ?

    la syntaxe est bien :
    Disallow: /forum/sutra*.html$ ???
     
  37. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    JeromeRookie
    sur webmasterplan tu utilise le service analyse prereferencement en haut a gauche

    tu n'as plus de SID

    Bon par contre moi je vais esayer d'installer le add on qui permet de gerer les balises meta du forum phpbb depuis l'admin
     
  38. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    629
    J'aime reçus:
    0
    J'avais supprimé les sid avant de faire l'url rewriting en commentant 4 lignes consécutives :

    Code:
    {
    	global $SID;
    
    //	if ( !empty($SID) && !preg_match('#sid=#', $url) )
    //	{
    //		$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
    //	}
    
    	return $url;
    }
    Quant au robots.txt, habituellement c'est à la racine...
     
  39. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    la syntaxe que je t'ai donnée est la bonne ?
     
  40. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    C'est pourtant ca que j'ai tout en bas.


    c'est ici qu'il faut modifier quelque chose ?



     
  41. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    John tu as le phpbz et non le phpbb

    phpbz = phpbizar
     
  42. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    ca serai donc mieu que je change de forum ? ou télécharger phpbb ? et esque je pourrait récupéré mes messages ?

    au sinon, personne si connait en phpbz ??
     
  43. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    c'etait une plaisanterie
     
  44. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    a bon...

    c'est que j'y connait pas grand chose...

    au sinon, j'ai pas trouver les ligne a modifier, mais elle ne correspond pas avec les mienne

    je n'est trouver null part :

     
  45. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    tu es sur d'avoir le bon fichier ?
    dans le dossier include, session.php

    Bizar quand meme
     
  46. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    c'est ca non :

     
  47. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    Code:
    <?php
    /***************************************************************************
     *                                sessions.php
     *                            -------------------
     *   begin                : Saturday, Feb 13, 2001
     *   copyright            : (C) 2001 The phpBB Group
     *   email                : support@phpbb.com
     *
     *   $Id: sessions.php,v 1.58.2.6 2002/07/19 22:19:08 psotfx Exp $
     *
     *
     ***************************************************************************/
    
    /***************************************************************************
     *
     *   This program is free software; you can redistribute it and/or modify
     *   it under the terms of the GNU General Public License as published by
     *   the Free Software Foundation; either version 2 of the License, or
     *   (at your option) any later version.
     *
     ***************************************************************************/
    
    //
    // Adds/updates a new session to the database for the given userid.
    // Returns the new session ID on success.
    //
    function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0)
    {
    	global $db, $board_config;
    	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
    
    	$cookiename = $board_config['cookie_name'];
    	$cookiepath = $board_config['cookie_path'];
    	$cookiedomain = $board_config['cookie_domain'];
    	$cookiesecure = $board_config['cookie_secure'];
    
    	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
    	{
    		$session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
    		$sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : '';
    		$sessionmethod = SESSION_METHOD_COOKIE;
    	}
    	else
    	{
    		$sessiondata = '';
    		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
    		$sessionmethod = SESSION_METHOD_GET;
    	}
    
    	$last_visit = 0;
    	$current_time = time();
    	$expiry_time = $current_time - $board_config['session_length'];
    
    	//
    	// Try and pull the last time stored in a cookie, if it exists
    	//
    	$sql = "SELECT * 
    		FROM " . USERS_TABLE . " 
    		WHERE user_id = $user_id";
    	if ( !($result = $db->sql_query($sql)) )
    	{
    		message_die(CRITICAL_ERROR, 'Could not obtain lastvisit data from user table', '', __LINE__, __FILE__, $sql);
    	}
    
    	$userdata = $db->sql_fetchrow($result);
    
    	if ( $user_id != ANONYMOUS )
    	{
    		$auto_login_key = $userdata['user_password'];
    
    		if ( $auto_create )
    		{
    			if ( isset($sessiondata['autologinid']) && $userdata['user_active'] )
    			{
    				// We have to login automagically
    				if( $sessiondata['autologinid'] == $auto_login_key )
    				{
    					// autologinid matches password
    					$login = 1;
    					$enable_autologin = 1;
    				}
    				else
    				{
    					// No match; don't login, set as anonymous user
    					$login = 0; 
    					$enable_autologin = 0; 
    					$user_id = ANONYMOUS;
    				}
    			}
    			else
    			{
    				// Autologin is not set. Don't login, set as anonymous user
    				$login = 0;
    				$enable_autologin = 0;
    				$user_id = ANONYMOUS;
    			}
    		}
    		else
    		{
    			$login = 1;
    		}
    	}
    	else
    	{
    		$login = 0;
    		$enable_autologin = 0;
    	}
    
    	//
    	// Initial ban check against user id, IP and email address
    	//
    	preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);
    
    	$sql = "SELECT ban_ip, ban_userid, ban_email 
    		FROM " . BANLIST_TABLE . " 
    		WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff')
    			OR ban_userid = $user_id";
    	if ( $user_id != ANONYMOUS )
    	{
    		$sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "' 
    			OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'";
    	}
    	if ( !($result = $db->sql_query($sql)) )
    	{
    		message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);
    	}
    
    	if ( $ban_info = $db->sql_fetchrow($result) )
    	{
    		if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
    		{
    			message_die(CRITICAL_MESSAGE, 'You_been_banned');
    		}
    	}
    
    	//
    	// Create or update the session
    	//
    	$sql = "UPDATE " . SESSIONS_TABLE . "
    		SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
    		WHERE session_id = '" . $session_id . "' 
    			AND session_ip = '$user_ip'";
    	if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
    	{
    		$session_id = md5(uniqid($user_ip));
    
    		$sql = "INSERT INTO " . SESSIONS_TABLE . "
    			(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
    			VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
    		if ( !$db->sql_query($sql) )
    		{
    			message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
    		}
    	}
    
    	if ( $user_id != ANONYMOUS )
    	{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( 
    		$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 
    
    		$sql = "UPDATE " . USERS_TABLE . " 
    			SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
    			WHERE user_id = $user_id";
    		if ( !$db->sql_query($sql) )
    		{
    			message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
    		}
    
    		$userdata['user_lastvisit'] = $last_visit;
    
    		$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
    		$sessiondata['userid'] = $user_id;
    	}
    
    	$userdata['session_id'] = $session_id;
    	$userdata['session_ip'] = $user_ip;
    	$userdata['session_user_id'] = $user_id;
    	$userdata['session_logged_in'] = $login;
    	$userdata['session_page'] = $page_id;
    	$userdata['session_start'] = $current_time;
    	$userdata['session_time'] = $current_time;
    
    	setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
    	setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
    
    	$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';
    
    	return $userdata;
    }
    
    //
    // Checks for a given user session, tidies session table and updates user
    // sessions at each page refresh
    //
    function session_pagestart($user_ip, $thispage_id)
    {
    	global $db, $lang, $board_config;
    	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
    
    	$cookiename = $board_config['cookie_name'];
    	$cookiepath = $board_config['cookie_path'];
    	$cookiedomain = $board_config['cookie_domain'];
    	$cookiesecure = $board_config['cookie_secure'];
    
    	$current_time = time();
    	unset($userdata);
    
    	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
    	{
    		$sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : '';
    		$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
    		$sessionmethod = SESSION_METHOD_COOKIE;
    	}
    	else
    	{
    		$sessiondata = '';
    		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
    		$sessionmethod = SESSION_METHOD_GET;
    	}
    
    	//
    	// Does a session exist?
    	//
    	if ( !empty($session_id) )
    	{
    		//
    		// session_id exists so go ahead and attempt to grab all
    		// data in preparation
    		//
    		$sql = "SELECT u.*, s.*
    			FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
    			WHERE s.session_id = '$session_id'
    				AND u.user_id = s.session_user_id";
    		if ( !($result = $db->sql_query($sql)) )
    		{
    			message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
    		}
    
    		$userdata = $db->sql_fetchrow($result);
    
    		//
    		// Did the session exist in the DB?
    		//
    		if ( isset($userdata['user_id']) )
    		{
    			//
    			// Do not check IP assuming equivalence, if IPv4 we'll check only first 24
    			// bits ... I've been told (by vHiker) this should alleviate problems with 
    			// load balanced et al proxies while retaining some reliance on IP security.
    			//
    			$ip_check_s = substr($userdata['session_ip'], 0, 6);
    			$ip_check_u = substr($user_ip, 0, 6);
    
    			if ( $ip_check_s == $ip_check_u )
    			{
    				$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';
    
    				//
    				// Only update session DB a minute or so after last update
    				//
    				if ( $current_time - $userdata['session_time'] > 60 )
    				{
    					$sql = "UPDATE " . SESSIONS_TABLE . " 
    						SET session_time = $current_time, session_page = $thispage_id 
    						WHERE session_id = '" . $userdata['session_id'] . "'";
    					if ( !$db->sql_query($sql) )
    					{
    						message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
    					}
    
    					if ( $userdata['user_id'] != ANONYMOUS )
    					{
    						$sql = "UPDATE " . USERS_TABLE . " 
    							SET user_session_time = $current_time, user_session_page = $thispage_id 
    							WHERE user_id = " . $userdata['user_id'];
    						if ( !$db->sql_query($sql) )
    						{
    							message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
    						}
    					}
    
    					//
    					// Delete expired sessions
    					//
    					$expiry_time = $current_time - $board_config['session_length'];
    					$sql = "DELETE FROM " . SESSIONS_TABLE . " 
    						WHERE session_time < $expiry_time 
    							AND session_id <> '$session_id'";
    					if ( !$db->sql_query($sql) )
    					{
    						message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);
    					}
    
    					setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
    					setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
    				}
    
    				return $userdata;
    			}
    		}
    	}
    
    	//
    	// If we reach here then no (valid) session exists. So we'll create a new one,
    	// using the cookie user_id if available to pull basic user prefs.
    	//
    	$user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;
    
    	if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )
    	{
    		message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);
    	}
    
    	return $userdata;
    
    }
    
    //
    // session_end closes out a session
    // deleting the corresponding entry
    // in the sessions table
    //
    function session_end($session_id, $user_id)
    {
    	global $db, $lang, $board_config;
    	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
    
    	$cookiename = $board_config['cookie_name'];
    	$cookiepath = $board_config['cookie_path'];
    	$cookiedomain = $board_config['cookie_domain'];
    	$cookiesecure = $board_config['cookie_secure'];
    
    	//
    	// Pull cookiedata or grab the URI propagated sid
    	//
    	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) )
    	{
    		$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
    		$sessionmethod = SESSION_METHOD_COOKIE;
    	}
    	else
    	{
    		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
    		$sessionmethod = SESSION_METHOD_GET;
    	}
    
    	//
    	// Delete existing session
    	//
    	$sql = "DELETE FROM " . SESSIONS_TABLE . " 
    		WHERE session_id = '$session_id' 
    			AND session_user_id = $user_id";
    	if ( !$db->sql_query($sql) )
    	{
    		message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);
    	}
    
    	setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
    	setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
    
    	return true;
    }
    
    //
    // Append $SID to a url. Borrowed from phplib and modified. This is an
    // extra routine utilised by the session code above and acts as a wrapper
    // around every single URL and form action. If you replace the session
    // code you must include this routine, even if it's empty.
    //
    function append_sid($url, $non_html_amp = false) 
    { 
      global $SID; 
    //  if ( !empty($SID) && !eregi('sid=', $url) ) 
    //  { 
    //     $url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID; 
    //  } 
      return($url); 
    }
    ?>
    le code a été modifié pour supprimer les sid a la fin en bas
     
  48. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    sur le fichier que vous venez de mettre, il est marqué ca en dessous de la fonction session_end


    et c'est finit...

    tandis que moi, il est marqué ca en dessous :


    f
    je l'ai pourtant jamais modifier
     
  49. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    telecharge une nouvelle version de phphbb
     
  50. troops
    troops WRInaute occasionnel
    Inscrit:
    16 Mars 2003
    Messages:
    449
    J'aime reçus:
    0
  51. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    ou doit t-on le mettre :?:
     
  52. troops
    troops WRInaute occasionnel
    Inscrit:
    16 Mars 2003
    Messages:
    449
    J'aime reçus:
    0
    Ou doit on mettre quoi ?
     
  53. Karbon
    Karbon WRInaute discret
    Inscrit:
    13 Novembre 2002
    Messages:
    125
    J'aime reçus:
    0
    telecharge le soft qui vient d'etre fait ou alors install un nouveau forum phpBB
     
  54. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    ou mettre le soft, dans quel répertoire ?
     
  55. troops
    troops WRInaute occasionnel
    Inscrit:
    16 Mars 2003
    Messages:
    449
    J'aime reçus:
    0
    Il y a un forum sur le site concerner normalement pour ça... C'est moi qu'on va engueuler après si ont fé du HS. Bon le soft tu le met ou tu veux y a pas besoin de le mettre à un endroit spécifique
     
  56. john2
    john2 WRInaute discret
    Inscrit:
    31 Décembre 2003
    Messages:
    208
    J'aime reçus:
    0
    je l'ai mis a la racine, mais apparament, ca ne fonctionne pas... :(
     
  57. volvoman
    volvoman Nouveau WRInaute
    Inscrit:
    26 Décembre 2003
    Messages:
    14
    J'aime reçus:
    0
    Bonjour à tous à tous!

    Ceci est mon premier post, il faut toujours un début à tout...

    Je viens de tester la solution proposée en page 1 à savoir celle-ci:

    J'ai également mis en commentaire le fameux morceau de texte dans le fichier sessions.php

    Le résultat est que tout fonctionne (miracle?), personnellement je ne constate aucune anomalie (ou je me trompe?? vous pouvez toujours jeter un coup d'oeil sur le forum: http://www.volvo300mania.com/forum/) et j'ai parfaitement accès au panneau d'administration.

    La seule chose qui m'intrigue maintenant, c'est ceci: l'étape 5, le fichier robots.txt pour éviter que Google ne pénalise pour "contenu dédoublé". j'ai créé ce fichier comme indiqué:

    J'ai donc ceci dans mon cas:


    L'ennui, c'est que quand je teste ce fichier sur de nombreux sites qui permettent de le faire, j'obtiens ceci:


    Le ficher serait donc accepté mais avec réserves!! Le coup des étoiles ne semble pas très propre... Et j'espère même que le fichier fonctionnera vraiment!! Quelqu'un peut-il m'éclairer? Merci d'avance!!
     
  58. volvoman
    volvoman Nouveau WRInaute
    Inscrit:
    26 Décembre 2003
    Messages:
    14
    J'aime reçus:
    0
    A nouveau moi... Toujours concernant cette étape 5 avec le fichier robots.txt...

    Je me rends compte de quelque chose: l'instruction dans ce fichier demandant de ne PAS visiter les liens "propres" sans n° de session ou je ne sais quoi est finalement stupide, non?

    C'est justement l'inverse qu'on veut! Ne pas faire visiter les pages avec les codes mais bien celles avec une adresse propre pour espérer que Google référence!

    Ou alors je n'ai rien compris, LOL
     
  59. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    19 134
    J'aime reçus:
    350
    effectivement c'est étrange. je n'ai pas suivi tout le topo mais ces lignes dans le robots.txt c'est étrange.
    sinon effectivement le standard de ce fichier ne permet pas de mettre des * dans les lignes Disallow
    c'est utilisable seulement pour définir des robots (user agent)
     
  60. marck5
    marck5 WRInaute discret
    Inscrit:
    14 Septembre 2003
    Messages:
    101
    J'aime reçus:
    0
    Souhaitant à mon tour rewriter un forum phpbb 2.0.6 sous ovh, j'ai scrupuleusement suivi le descriptif donné par Kali et qui semble avoir marché pour certain d'entre vous.

    A ma grande desillusion, lorsque je clique sur les forums ça ne trouve pas les pages. Si vous voulez voir ce que ça donne :

    http://www.paranormal-ondes.com/forum/index.php

    J'avoue avoir bien tout regardé et je comprends pas bien ou ça foire...

    Si qq pouvait me donner des pistes pour corriger ce sérieux problème ce serait sympa

    Merci
     
  61. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 175
    J'aime reçus:
    0
    dans tes regles faut pt'et mettre un truc dans ce genre

    Code:
    RewriteRule ^forum([0-9]*).* /forum/viewforum.php?f=$1 
    au lieu de

    Code:
    RewriteRule ^forum([0-9]*).* /viewforum.php?f=$1 
     
  62. JeromeRookie
    JeromeRookie WRInaute occasionnel
    Inscrit:
    11 Août 2003
    Messages:
    342
    J'aime reçus:
    0
    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.
     
  63. St3phane
    St3phane Nouveau WRInaute
    Inscrit:
    1 Novembre 2003
    Messages:
    18
    J'aime reçus:
    0
    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:
    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!
     
  64. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 175
    J'aime reçus:
    0
    en mettant un truc dans ce genre

    Code:
    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:
    RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.htm$ /forums/viewtopic.php?t=$1&start=$2 [L]
    peut etre ?
     
  65. St3phane
    St3phane Nouveau WRInaute
    Inscrit:
    1 Novembre 2003
    Messages:
    18
    J'aime reçus:
    0
    J'ai testé avec cette modif mais sans succès. L'hébergeur m'assure que le mod_rewrite est activé! :?
     
  66. marck5
    marck5 WRInaute discret
    Inscrit:
    14 Septembre 2003
    Messages:
    101
    J'aime reçus:
    0
    Bon ben ça marche maintenant avec ce code :

     
  67. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    524
    J'aime reçus:
    0
    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
     
  68. sdamain
    sdamain WRInaute passionné
    Inscrit:
    14 Octobre 2003
    Messages:
    1 070
    J'aime reçus:
    0
    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?
     
  69. sdamain
    sdamain WRInaute passionné
    Inscrit:
    14 Octobre 2003
    Messages:
    1 070
    J'aime reçus:
    0
    Personne pour me donner un petit coup de main?
     
  70. spacejoe
    spacejoe Nouveau WRInaute
    Inscrit:
    25 Février 2004
    Messages:
    1
    J'aime reçus:
    0
    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:
    # 
    #-----[ 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:
    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 :\
     
  71. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    19 134
    J'aime reçus:
    350
    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...
     
  72. Twister
    Twister WRInaute occasionnel
    Inscrit:
    16 Janvier 2004
    Messages:
    351
    J'aime reçus:
    0
    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:
    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:
    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:
    $SID = 'sid=' . $session_id;
    
    par
    Code:
    	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:
    // Session parameters
    define('SESSION_METHOD_COOKIE', 100);
    define('SESSION_METHOD_GET', 101);
    
    ajoutez
    Code:
    //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:
    //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:
    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)
     
  73. calou
    calou Guest
    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 ??
     
  74. mindsurfer
    mindsurfer Nouveau WRInaute
    Inscrit:
    6 Avril 2004
    Messages:
    1
    J'aime reçus:
    0
    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
     
  75. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    111
    J'aime reçus:
    0
    comment on crée un fichier robot.txt avec bloc note sa je c lol mé je mé koi dedans svp
     
  76. T-Tus
    T-Tus Nouveau WRInaute
    Inscrit:
    3 Février 2004
    Messages:
    3
    J'aime reçus:
    0
    Hello,

    moi j'ai juste un bleme au niveau du .htaccess ...

    Voila tout fonctionne mais quand je met l'url avec un &sub

    ex : viewforum.php?id=1&sub=test

    ben il me le remplace automatiquement par : ,"

    quelqu'un aurrait une idée SVP ?
     
  77. tahngarth
    tahngarth Nouveau WRInaute
    Inscrit:
    20 Mai 2004
    Messages:
    5
    J'aime reçus:
    0
    j'ai un ptit probleme avec mon forum :)

    le rewriting fonctionne :) mais ya un chtit bug :oops:

    Lors de la connection ou deconnection on tombe sur une page blanche :evil:

    Qqun peut m'aider ?
     
  78. Polux
    Polux Nouveau WRInaute
    Inscrit:
    22 Mai 2004
    Messages:
    19
    J'aime reçus:
    0
    Bonjour,

    Quelq'un sait où est passé l'article qui traîte de ce sujet sur le site? 8O Avec le code à appliquer en FR, etc. Je l'ai lu au matin et maintenant plus rien...

    Polux

    *A L'AIDE* [​IMG]
     
  79. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    19 134
    J'aime reçus:
    350
  80. Polux
    Polux Nouveau WRInaute
    Inscrit:
    22 Mai 2004
    Messages:
    19
    J'aime reçus:
    0
    Merci c'est ce que je n'arrivais plus à trouver! :p

    thx
     
  81. sebseb
    sebseb Nouveau WRInaute
    Inscrit:
    10 Septembre 2004
    Messages:
    23
    J'aime reçus:
    0
    Bonjour,

    Je viens de tester l'url rewriting pour mon forum.
    J'ai donc utilisé ce très bon article : https://www.webrankinfo.com/dossiers/webmastering mais j'ai juste qq réflexions pour aider ceux qui pourraient rencontrer les mêmes problèmes (vite réglés) que j'ai eu.

    D'abord au début du htaccess ne pas oublier de lancer le module de réécriture :

    Code:
    RewriteEngine On
    Bien sûr, ne pas oublier de bien agencer (comme c'est dit) le fichier htacces.

    Pour tout passer en html, modifier le code du tableau $urlout .

    Par contre, mon forum est dans le dossier forum (ce qui peut arriver à d'autres), j'ai donc réécrit la ligne du htaccess.
    Le problème du coup venait de la page forum1.html par exemple qui du coup retournait à la page d'index du forum.

    La solution, renommer la page forumx.html par voirforum.html dans le fichier htacces et dans le tabkeau $urlout et c'est ok.

    Voila ça pourra peut être dépanner certains.
    Pour voir le résultat : www.dakardantan.com

    @+
    Seb
     
  82. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    Je viens d'essayer le code signalé en page 1 de ce topic mais lorsque je veux consulter le forum, le résultat est :

    The requested URL /amarokpr/phpBB2/forum8.html was not found on this server.

    par exemple..... :cry:
     
  83. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    Je viens d'essayer le code signalé en page 1 de ce topic mais lorsque je veux consulter le forum, le résultat est :

    The requested URL /phpBB2/forum8.html was not found on this server.

    par exemple..... :cry:
     
  84. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    essaye de mettre ceci

    RewriteEngine on
    Options +FollowSymlinks
     
  85. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    Toujours pareil...

    Est-ce que le fait de tester en local peut être la cause de ce problème ?
     
  86. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    tu as bien placé ces lignes tout en haut?
     
  87. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    tout en haut du .htaccess oui

    RewriteEngine on
    Options +FollowSymlinks
    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
     
  88. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    tu as placé ce htaccess dans le repertoire de ton forum?
     
  89. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    a la racine du forum oui...
     
  90. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    tu es certain au moin que ton hebergeur à activé le module rewrite?
     
  91. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    comme je te l'ai dit, je suis actuellement en local (sur mon DD) et je me demande si cela fonctionne en local (pour tester) ????
    Sinon je suis chez OVH et normalement ça tourne il me semble...
     
  92. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    il faut que tu active le module rewrite dans ton conf
     
  93. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    tu veux dire que je place

    RewriteEngine on
    Options +FollowSymlinks

    dans config.php ?
     
  94. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    non je parle de la configuration de apache


    tu fait tourner en local avec easyphp ou bien tu as installé tous les serveurs manuellement un par un?
     
  95. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    je suis avec easyphp...

    autre chose... j'ai édité le .htaccess avec notepad ce qui donne .htaccess.txt

    cela peut-il créer un pb ?
     
  96. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    :lol:

    fait le directement sur ton site ça prend 5 minutes car si je commence à tous expliquer il va y en avoir pour des heures et je suis pas sur que tu comprenne tout sur l'url rewriting


    sauvegarde ton ftp et fai les modifications croi moi ça ne risque rien mi à par de mettre ton forum hs 2 minutes le temps du transfer des fichiers rien de plus ;-)
     
  97. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    Je viens de faire les modifs et ça ne fonctionne plus... comme en local...

    je ne sais pas si l'extension de .htaccess.txt pose problème...

    je ne vois pas d'où vient le pb non plus...
     
  98. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 920
    J'aime reçus:
    0
    renome sur ton ftp .htaccess.txt en .htaccess ...
     
  99. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    je verrai ce soir car au boulot, je n'ai pas de client ftp...

    tu pourras m'expliquer l'url rewriting que je pige dans les largeurs mais ne pouvant me connecter longuement du boulot, je ne peux que survoler les questions/réponses...

    A +
     
  100. AmarokProg
    AmarokProg Nouveau WRInaute
    Inscrit:
    9 Février 2005
    Messages:
    34
    J'aime reçus:
    0
    ça tourne nickel ! cool !

    prochaine étape, toutes les pages du site....
     
Chargement...
Similar Threads - PhpBB Rewriting solutions Forum Date
PhpBB3: URL rewriting nécessaire ou pas ? URL Rewriting et .htaccess 25 Mai 2010
Rediriger sujet phpBB3 vers Vanilla 3 URL Rewriting et .htaccess 6 Août 2019
Gérer le passage de forumactif à phpbb Référencement Google 19 Janvier 2019
Probleme forum phpbb seo Développement d'un site Web ou d'une appli mobile 30 Septembre 2018
Quelle solution de forum utiliser pour migration phpbbseo ? Demandes d'avis et de conseils sur vos sites 11 Mars 2018
Problème images en https (forum phpbb) [résolu] Développement d'un site Web ou d'une appli mobile 18 Novembre 2017
Migration forum phpbb vers vanilla 2 URL Rewriting et .htaccess 15 Février 2016
Optimiser le code d'un forum phpbb Problèmes de référencement spécifiques à vos sites 12 Juin 2015
Faire héberger en externe un vieux forum phpBB, possible ? Administration d'un site Web 9 Avril 2015
Spam du Pakistan sur PHpBB Administration d'un site Web 3 Janvier 2015
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice