phpBB et URL Rewriting : article de synthèse

Discussion dans 'Techniques avancées de référencement' créé par WebRankInfo, 23 Avril 2004.

  1. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    22 811
    J'aime reçus:
    45
  2. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    merci WRI juste un tite question pourquoi rien ne marche dans admin?
     
  3. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    22 811
    J'aime reçus:
    45
    j'ai pas compris de quoi tu parles ?
     
  4. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    j'ai modifer sessions.php pour supprimé les SID

    les SID ce supprime ;) mais tous les fonctions de admin(ajout de forum,email de masse etc...) ne marche pas pourquoi ??
     
  5. crindor
    crindor WRInaute passionné
    Inscrit:
    22 Novembre 2002
    Messages:
    1 151
    J'aime reçus:
    0
    bah j'ai fait comme dit dans le manuel sur phpbb et nada , çà marche pas
     
  6. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    Si tu lis le post tu verras que le forum nécessite l'utilisation des sid , il ne faut pas les supprimer pour tous , seulement pour les visiteurs ( et seulement dans les URL ) .
     
  7. ideezik
    ideezik WRInaute impliqué
    Inscrit:
    28 Janvier 2004
    Messages:
    921
    J'aime reçus:
    0
    Merci bcp pour le lien. Tout fonctionne nickel chez moi. J'ai juste enlevé la ligne :

    Code:
    RewriteRule ^forum([0-9]*).* viewforum.php?f=$1&mark=topics
    Parce qu'elle rentre en conflit avec :

    Code:
    RewriteRule ^forum([0-9]*).* viewforum.php?f=$1 
    Et du coup, quand on va sur un forum, ca marque tous les messages comme lus :eek:

    Pour le reste, impec' !
     
  8. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    Il n'y a pas de conflit tant que tu ne changes pas l'ordre des lignes dans .htaccess ou includes/page_header.php :wink:


    Arf ... Peut être en fait : il faut remplacer RewriteRule ^forum([0-9]*).* viewforum.php?f=$1&mark=topics par RewriteRule ^mforum([0-9]*).* viewforum.php?f=$1&mark=topics dans le .htaccess .
     
  9. ideezik
    ideezik WRInaute impliqué
    Inscrit:
    28 Janvier 2004
    Messages:
    921
    J'aime reçus:
    0
    De toutes facons, m'en tape que GG voit cette page ! Donc c'est pour ca que je l'ai viré du htaccess....
     
  10. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    bon j'ai deja fait les modif de mon sessions.php j'éspère ne pas avoir fait d'érreur :wink:


    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.10 2003/04/05 12:04:33 acydburn 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'])) : array();
    		$sessionmethod = SESSION_METHOD_COOKIE;
    	}
    	else
    	{
    		$sessiondata = array();
    		$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 = $userdata['user_id'] = ANONYMOUS;
    				}
    			}
    			else
    			{
    				// Autologin is not set. Don't login, set as anonymous user
    				$login = 0;
    				$enable_autologin = 0;
    				$user_id = $userdata['user_id'] = ANONYMOUS;
    			}
    		}
    		else
    		{
    			$login = 1;
    		}
    	}
    	else
    	{
    		$login = 0;
    		$enable_autologin = 0;
    	}
    
    // 
       // CC IP-mod ($user_ip is created in common.php) 
       // 
       global  $phpEx, $phpbb_root_path;
       include($phpbb_root_path . 'includes/cc_mod.'.$phpEx);
       
    	//
    	// 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_ip = $user_id == ANONYMOUS ? " AND session_ip = '$user_ip'" : ''; 
       $sql = "UPDATE " . SESSIONS_TABLE . " 
          SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login 
          WHERE session_id = '" . $session_id . "' $sql_ip 
             AND session_user_id = '$user_id'";
    	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, user_lastlogon = " . time() .  ", user_totallogon=user_totallogon+1
    			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 = $user_id > 0 ? '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'])) : array();
    		$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
    		$sessionmethod = SESSION_METHOD_COOKIE;
    	}
    	else
    	{
    		$sessiondata = array();
    		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
    		$sessionmethod = SESSION_METHOD_GET;
    	}
    
    	//
    	// Does a session exist?
    	//
    	if ( !empty($session_id) )
    	{
    	// Start add - Last visit MOD
    $expiry_time = $current_time - $board_config['session_length'] ;
    // End add - Last visit MOD
    		//
    		// 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 AND session_time > $expiry_time";
    		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 = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? '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, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].") 
    							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 UNIX_TIMESTAMP() - session_time >=172800
    							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;
    			}
    		}
    	}
       else 
       { 
          // try to login guest 
          $sql = "SELECT u.*, s.* 
             FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u 
             WHERE s.session_ip = '$user_ip' 
                AND s.session_user_id = " . ANONYMOUS . " 
                AND u.user_id = s.session_user_id 
                   LIMIT 0, 1"; 
          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); 
    
          if ( isset($userdata['user_id']) ) 
          { 
             if ( $current_time - $userdata['session_time'] > 60 ) 
             { 
                $sql = "UPDATE " . SESSIONS_TABLE . " 
                   SET session_time = $current_time, session_start = $current_time, session_page = 0 
                   WHERE session_id = '" . $userdata['session_id'] . "'"; 
                if ( !$db->sql_query($sql) ) 
                { 
                   message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); 
                } 
             } 
             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'];
    
    	$current_time = time();
    
    	//
    	// 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) && !preg_match('#sid=#', $url) )
    	{
    		$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
    	}
    
    	return $url;
    }
    
    ?>
    mais j'ai remaqué meme si je coche connexion auto bah quand je revien sur mon site bah faut que je me reconnect :cry:

    puis mon .htaccess j'ai sa

    Code:
    DirectoryIndex portal.php index.php index.htm index.html
    je suis chez OVH
     
  11. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    Fix pour l'autologin non fonctionnel :
     
  12. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    puis mon .htaccess j'ai déja sa

    Code:
    DirectoryIndex portal.php index.php index.htm index.html
    et pour info je suis chez OVH
     
  13. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    [Double post , désolé , erreur lors de l'envoi]
     
  14. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
  15. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    je fait comment j'écrit le code 1ligne ou 2 en dessous?
     
  16. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
  17. willyz85
    willyz85 WRInaute discret
    Inscrit:
    1 Mai 2004
    Messages:
    134
    J'aime reçus:
    0
    Ca supprime bien l'erreur : index.html&sid=315468ds6d4s6q ?

    Car j'avais cette erreur sur la page index à chaque connection puis ca s'enlevait biensur en réactualisant
     
  18. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    Ce n'est pas une erreur .... Mais cela supprime le sid pour les invités .
     
  19. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    lycos accepte urlrewriting ?
     
  20. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
  21. sdamain
    sdamain WRInaute passionné
    Inscrit:
    14 Octobre 2003
    Messages:
    1 280
    J'aime reçus:
    0
    Est ce que ce tuto est valable pour la version 2.08 de phpbb?
    J'ai appliqué les modifications demandées à la lettre mais cela ne fonctionne pas au niveau du rewriting.
    Les SIDs dont bien enlevées des urls mais je tombe sur une erreur 404 qd je clique sur un lien du forum. Ca doit sans doute venir du .htaccess car lorsque je passe avec la souris sur un lien, dans la barre de naviguation je vois le liens rewrité mais je tombe sur une page blanche (404).
    Quelqu'un aurait une idée?

    Merci.
    Sebastien.
     
  22. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    C'est compatible avec toutes les versions de phpbb depuis la 2.0.4 ( et probablement les précédentes , je n'ai pas essayé ) .
    Ton problème est au niveau du .htaccess .
     
  23. clash
    clash Nouveau WRInaute
    Inscrit:
    2 Mai 2004
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    Est ce obligatoire de procéder à l'url rewriting pour voir son forum indexé par Google?
    Est ce que enlever les SIDS suffit?
    Si j'ai des urls du style http://www.monsite.com/viewtopic.php?t=4 est ce que GG va quand même visité ces pages?

    Merci.
     
  24. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    Tu n'as même pas besoin de faire quoi que ce soit . Mais cela facilite l'indexation des pages .
     
  25. vinprixdomaine.com
    vinprixdomaine.com Nouveau WRInaute
    Inscrit:
    1 Mai 2004
    Messages:
    35
    J'aime reçus:
    0
    Existe t'il un script générique pour retirer le session id pour un invité comme il est expliqué pour PHPbb ?

    Je ne sais pas comment faire pour ne plus les avoir dans mes pages qui sont référencées ... :oops:
     
  26. deweerdt
    deweerdt WRInaute impliqué
    Inscrit:
    12 Août 2003
    Messages:
    909
    J'aime reçus:
    0
    Soit tu mets le code suivant dans un fichier .htaccess :
    Code:
    php_flag session.use_trans_sid off
    soit tu mets le code suivant sur ta page php :
    Code:
    ini_set('session.use_trans_sid', false);
     
  27. vinprixdomaine.com
    vinprixdomaine.com Nouveau WRInaute
    Inscrit:
    1 Mai 2004
    Messages:
    35
    J'aime reçus:
    0
    ça ne va pas foutre la grouille avec mon caddie ?
     
  28. Lord Farquaad
    Lord Farquaad WRInaute discret
    Inscrit:
    1 Mai 2004
    Messages:
    122
    J'aime reçus:
    0
    Au fait euh...

    Dans le genre modification à la easy game, il y a celle que j'ai proposé le jour de mon inscription aussi: seulement le fichier sessions.php à éditer !

    PhpBB & URL rewrting: LA solution simple
     
  29. vinprixdomaine.com
    vinprixdomaine.com Nouveau WRInaute
    Inscrit:
    1 Mai 2004
    Messages:
    35
    J'aime reçus:
    0
    ça ne concernait pas que PHPbb ?
     
  30. deweerdt
    deweerdt WRInaute impliqué
    Inscrit:
    12 Août 2003
    Messages:
    909
    J'aime reçus:
    0
    Si tes visiteurs acceptent les cookies, non normalement.
     
  31. Lord Farquaad
    Lord Farquaad WRInaute discret
    Inscrit:
    1 Mai 2004
    Messages:
    122
    J'aime reçus:
    0
    C'est le sujet de départ du topic, c'est vous qui déviez ;-)

    Si on veut faire un synthèse, il vaut mieux éviter le hors-sujet, même si le domaine est très similaire, non ? :roll:
     
  32. solodown
    solodown WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    120
    J'aime reçus:
    0
    Dr DLP
    pourquoi la disparition du sid... sur mon forum apprait aussi avant le premier clic après il parte?
     
  33. Lord Farquaad
    Lord Farquaad WRInaute discret
    Inscrit:
    1 Mai 2004
    Messages:
    122
    J'aime reçus:
    0
    En fait à chaque page vue, phpBB vérifie si tu envoies un cookie contenant un identifiant de sessions valable.
    • Si oui, alors il sait que tu peux utiliser les cookies, et il enlève le sid= des urls.
    • Si non, alors il faut s'assurer de transmettre le sid, et que l'envoi de cookies fonctionne bien (on pourrait imaginer qu'il y ait un problème...), donc il met le sid dans les urls.
    Donc quand tu arrives pour la première fois depuis un certain temps (= la durée de vie des sessions), tu ne possède plus de cookie avec un identifiant valable, donc tu reçois un nouveau sid, qui t'es transmis à la fois par l'url et un cookie ;-)
     
  34. Blaster
    Blaster WRInaute discret
    Inscrit:
    15 Avril 2004
    Messages:
    68
    J'aime reçus:
    0
    erreur 404 a chaque fois :roll:
    j ai suivi exactement la procédure
    sauf le session.php ou g pas touché mais jvois pas le rapport avec le .htaccess ...
    donc?

    merci :(
    je vais prendre l'air car je vais finir par tout balancer :evil: .
     
  35. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    651
    J'aime reçus:
    0
    Est-ce que tu au moins essayé avec ça ?
    Code:
    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
     
  36. Blaster
    Blaster WRInaute discret
    Inscrit:
    15 Avril 2004
    Messages:
    68
    J'aime reçus:
    0
    Ok ca marche , merci :)

    Et quelqu'un sais comment faire pour ajouter des url ?
    Exemple pour les profils je les veut de la sorte :
    profile_viewprofile_ID.html

    Pour le .htaccess c'est ok de mon coté , c'est dans page_header.php que je comprend pas bien , j'ai beau rajouter les lignes ca veut pas ...
    rien ne se passe

    une idée ?
     
  37. Lord Farquaad
    Lord Farquaad WRInaute discret
    Inscrit:
    1 Mai 2004
    Messages:
    122
    J'aime reçus:
    0
    Dis au fait Dr DLP, dans ton htaccess il y a plusieurs lignes qui virent l'identifiant de session de ceux qui n'acceptent pas les cookies, pourquoi tu ne fais pas de [qsa] ?
     
  38. Polux
    Polux Nouveau WRInaute
    Inscrit:
    22 Mai 2004
    Messages:
    19
    J'aime reçus:
    0
    Bonjour,

    Est-il préferable de faire son "URL Rewriting" avec l'extension php ou html ? Quelle est la différence?

    Merci d'avance, :)

    Polux
     
  39. lorantino
    lorantino WRInaute discret
    Inscrit:
    4 Juin 2004
    Messages:
    150
    J'aime reçus:
    0
    j pense que ca marcherait aussi, enfin ca reste a tester, mais bon ca sert a rien, ca fait style le .php qui sert a rien ;)

    >> plus propre en .html

    ++
     
  40. lorantino
    lorantino WRInaute discret
    Inscrit:
    4 Juin 2004
    Messages:
    150
    J'aime reçus:
    0
    tiens je viens de voir un doc avec plein d infos sur le langage utilisé dans les .htaccess et je trouve plus simple de mettre a la place des [0-9] ou des [a-zA-Z] ceci

    >> [[:graph:]]

    ca comprend tout les caracteres imprimables sauf les espaces.

    voila, si y a un probleme avec, merci de le signaler ;)

    ++

    edit : l url de la doc >> http://www.webdynamit.net/_faq <<
     
  41. hifuga
    hifuga WRInaute occasionnel
    Inscrit:
    7 Mai 2004
    Messages:
    290
    J'aime reçus:
    0
    Bonjour,

    Je ne sais pas si ça a déjà été dit mais un membre à remarqué une erreur sur mon forum,

    lorsque l'on cliquait sur la petite icone orange pour aller voir le dernier nouveau message d'un topic, ça affichait une erreur 404.

    En fait ça venait du fait qu'il manquait cette ligne dans le .htaccess :

    Code:
    RewriteRule ^newtopic([0-9]*).* viewtopic.php?t=$1&view=newest
    A corriger... :wink:
     
  42. [RNZ] Zeitgeist
    [RNZ] Zeitgeist Nouveau WRInaute
    Inscrit:
    28 Juin 2004
    Messages:
    29
    J'aime reçus:
    0
    J'ai testé la methode de Doc DLP et ça fonctionne pas mal du tout, j'attends la visite de google maintenant.
    Ce dernier reference 135 pages de mon forum, j'espere que ce resultat sera multiplié! :)
     
  43. [--Eric--]
    [--Eric--] WRInaute occasionnel
    Inscrit:
    6 Janvier 2004
    Messages:
    411
    J'aime reçus:
    0
    A propos du panneau d'admin qui ne fonctionne pas quand on désactive les sessions...
    J'ai simplement installé le forum en "double" dans un autre répertoire connu uniquement des admins (ou protégé par un .htaccess éventuellement) où là les sessions fonctionnent et donc le panneau d'admin aussi.
    C'est tout con mais ça faisait 6 mois que je m'enbêtais à changer mon fichier sessions.php à chaque fois que je voulais faire une intervention dans l'admin... :|
     
  44. lorantino
    lorantino WRInaute discret
    Inscrit:
    4 Juin 2004
    Messages:
    150
    J'aime reçus:
    0
    oui mais ca sera donc l admin du 2eme forum et tu pourra rien administrer sur le 1er ... me trompe je ?? ^^

    ++
     
  45. [--Eric--]
    [--Eric--] WRInaute occasionnel
    Inscrit:
    6 Janvier 2004
    Messages:
    411
    J'aime reçus:
    0
    Non tu fais une ré-install avec une nouvelle base ou des noms de tables différents pour être sûr de ne pas écraser tes tables :roll: et ensuite dans ton fichier config.php tu remets le nom de la base ou le préfixe de tes tables de ton "vrai" forum et te voilà avec un "clone" de celui-ci.
    Seul inconvénient si tu as un petit espace, ça te prends quelques mo sur le disque.
     
  46. e-atlantide
    e-atlantide WRInaute occasionnel
    Inscrit:
    12 Avril 2004
    Messages:
    323
    J'aime reçus:
    0
    Si tu as un hébergement payant, la réponse est oui.

    Michaël
     
  47. alesque
    alesque WRInaute occasionnel
    Inscrit:
    7 Février 2004
    Messages:
    336
    J'aime reçus:
    0
    Bonjour,

    J'ai modifié le fichier session de mon forum et je vois GGB qui ne visite que trois pages : index, login et faq.

    Comment verifier que tout est bien parametré et que le robots peut aller visiter les autres pages ?

    Autre question, quand on cré un fichier htacces pour le mettre dans la racine du forum, comment doit on le nomer et si on le met dans la racine du site, est il efficace pour le site aussi ?

    Merci de votre aide,

    A bientot,

    Alesque.
     
  48. Suede
    Suede WRInaute accro
    Inscrit:
    4 Octobre 2002
    Messages:
    3 703
    J'aime reçus:
    0
    Bonjour

    J'ai du mal à comprendre ca :
    Code:
    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
    
    Il les pique où les $2 à 5 l'Apache ?
    Et il vient d'où le .html ?

    François
     
  49. Suede
    Suede WRInaute accro
    Inscrit:
    4 Octobre 2002
    Messages:
    3 703
    J'aime reçus:
    0
    Personns qui répond?
    Dans l'article publié sur WRI,
    on a
    "'(?<!/)viewtopic.php\?t=([0-9]*)&start=([0-9]*)
    &postdays=([0-9]*)&postorder=([a-zA-Z]*)
    &highlight=([a-zA-Z0-9]*)'",
    remplacé par :
    "ftopic\\1-\\2-\\3-\\4-\\5.php",

    mais on a toujours .
    RewriteRule ^ftopic([0-9]*).html /forum/viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5

    François
     
  50. Cartapus
    Cartapus WRInaute occasionnel
    Inscrit:
    18 Juin 2004
    Messages:
    478
    J'aime reçus:
    0
    En effet il semble y avoir un souci, du coup ça créé deux urls pour le même topic (cf titre du topic)
     
  51. JrM63
    JrM63 Nouveau WRInaute
    Inscrit:
    12 Août 2006
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,
    Je souhaite utiliser l'url rewriting pour renommer les extensions de mes pages en .jrm, cela va - t il nuire à mon référencement ?

    Merci
     
  52. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 505
    J'aime reçus:
    0
    Bonsoir

    j'ai appliqué les règles énoncées ici, tout va bien, sauf pour le titre des sujets.

    Je m'explique, si dans le code j'insère
    Code:
    <a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a>
    comme dans le viewtopic initial, j'obtiens bien un titre de sujet cliquable, mais celui-ci est de la forme www.example.com/forum/ftopic4195-0-0-asc-.php

    Comment faire pour que ce lien soit "stable", comme sur WRI (à savoir www.example.com/forum/ftopic4195.php ), ce qui est quand même plus pratique et plus propre quand un membre veut citer une url d'un sujet...

    Merci d'avance
     
  53. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 505
    J'aime reçus:
    0
    Bonsoir

    personne n'a d'idée au sujet de ma demande ci-dessus ? Serais-je le seul dans ce cas ?
     
  54. Suede
    Suede WRInaute accro
    Inscrit:
    4 Octobre 2002
    Messages:
    3 703
    J'aime reçus:
    0
    Regarde dans ton repertoire include le fichier pageheader et les lignes qui font la transcription des urls.

    édité : enfin non, ca marchera pas comme cela.
     
  55. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 505
    J'aime reçus:
    0
    Oui ça doit être tout bête mais je n'arrive pas à mettre la main sur ce qu'il faut modifier...
     
  56. LeDieuBanane
    LeDieuBanane Nouveau WRInaute
    Inscrit:
    30 Janvier 2007
    Messages:
    7
    J'aime reçus:
    0
    normalement il n'y a plus de prob de url rewriting avec le php :D
     
  57. Ploup10
    Ploup10 Nouveau WRInaute
    Inscrit:
    17 Juillet 2006
    Messages:
    22
    J'aime reçus:
    0
    problème .htaccess

    Bonjour à tous.
    J'ai appliqué à la lettre toutes les consignes, modifié sessions, page_rail et page_header, créé le .htaccess comme dit pour ovh avec le /repertoire... Or, si l'url se rewrite bien, apache m'envoie une erreur... Le problème c'est qu'ensuite, malgré la suppression de l'.htaccess ou sa modif en rewriteEngine off, ce sont toujours les pages rewritées avec l'erreur qui s'affichent, et ça m'oblige à supprimer et recharger tout mon répertoire phpBB.
    Je vous donne le chemin (je précise que ce forum fait partie d'osdate, et que les login dans phpBB se font à partir d'osdate). Donc chemin du forum : osdate/forum/phpBB
    Et voici le .htaccess qui plante :
    Code:
    RewriteEngine On
    
    RewriteRule ^forums.* /phpBB/index.php
    
    RewriteRule ^mforum([0-9]*).* /phpBB/viewforum.php?f=$1&mark=topics
    
    RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* /phpBB/viewforum.php?f=$1&topicdays=$2&start=$3
    
    RewriteRule ^forum([0-9]*).* /phpBB/viewforum.php?f=$1
    
    RewriteRule ^ptopic([0-9]*).* /phpBB/viewtopic.php?t=$1&view=previous
    
    RewriteRule ^ntopic([0-9]*).* /phpBB/viewtopic.php?t=$1&view=next
    
    RewriteRule ^stopic([0-9]*)-([0-9]*).* /phpBB/viewtopic.php?t=$1&watch=topic&start=$2
    
    RewriteRule ^utopic([0-9]*)-([0-9]*).* /phpBB/viewtopic.php?t=$1&unwatch=topic&start=$2
    
    RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* /phpBB/viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
    
    RewriteRule ^ftopic([0-9]*)-([0-9]*).* /phpBB/viewtopic.php?t=$1&start=$2
    
    RewriteRule ^ftopic([0-9]*).* /phpBB/viewtopic.php?t=$1
    
    RewriteRule ^ftopic([0-9]*).html /phpBB/viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
    
    RewriteRule ^setopic_([0-9]*)-([a-zA-Z0-9]*).* /phpBB/viewtopic.php?t=$1&highlight=$2
    
    RewriteRule ^sutra([0-9]*).* /phpBB/viewtopic.php?p=$1
    
    Si quelqu'un a une idée sur ce qui ne va pas, merci d'avance...
    Cordialement à tous
    ps : j'espère avoir mis ce topic au bon endroit... Si ce n'est pas le cas, je vous fais toutees mes excuses.
     
  58. Ploup10
    Ploup10 Nouveau WRInaute
    Inscrit:
    17 Juillet 2006
    Messages:
    22
    J'aime reçus:
    0
    erreur 404 sur l'url rewritée

    Bonjour.
    Tout est appliqué, l'url affichée est bien sous forme phpBB/forum1,2,3,4,etc.php, mais j'ai une erreur 404...
    Not Found
    The requested URL /phpBB/viewforum.php was not found on this server.
    Apache/1.3.41 Server at XXXX.fr Port 80
    Pourtant la page viewforum.php est bien dans le bon répertoire... Quézaco ?

    Je tourne en rond, si une bonne âme charitable pouvait m'éclairer, je brulerais un cierge pour lui. Merci de votre bienveillance.
     
  59. Ploup10
    Ploup10 Nouveau WRInaute
    Inscrit:
    17 Juillet 2006
    Messages:
    22
    J'aime reçus:
    0
    tout est réglé...

    désolé de vous avoir dérangé... Finalement c'était un problème de répertoire. Le répertoire phpBB était lui-même dans un répertoire forum. Le .htaccess se trouvait dans /phpBB, mais chez ovh, l'adressage dans le .htaccess était en réalité /forum/phpBB
     
  60. 02superman
    02superman Nouveau WRInaute
    Inscrit:
    30 Novembre 2010
    Messages:
    1
    J'aime reçus:
    0
    Re:

    j'ai pas compris
     
  61. portier
    portier Nouveau WRInaute
    Inscrit:
    1 Octobre 2008
    Messages:
    35
    J'aime reçus:
    0
    Pour moi aussi, c'est dur...je vais tout relire.
     
  62. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    18 360
    J'aime reçus:
    0
    Discussion remontée par un spam