• Super User

    Guida - Installare e configurare le URL su PhpBB2

    Il rewrite dell?url su PhpBB2 si fa diversamente rispetto a PhpBB3 in quanto si modificano direttamente alcuni files.
    Ecco i files da modificare:
    includes/page_header.php
    includes/page_tail.php
    .htaccess

    Passiamo alla pratica. Apri il file /includes/page_header.php e cerca
    *$template->set_filenames(array( *
    *'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl') *
    );

    Dopo aggiungi questo

    *ob_start(); *
    *function make_url_friendly($url) *
    *{ *
    *$url = strtolower($url); *
    *$find = array(' ', *
    *'&', *
    *'\r\n', *
    *'\n', *
    *'/', *
    *'\', *
    *'+'); *
    *$url = str_replace ($find, '-', $url); *
    *$find = array(' ', *
    *'é', *
    *'è', *
    *'ë', *
    *'ê'); *
    *$url = str_replace ($find, 'e', $url); *
    *$find = array(' ', *
    *'ó', *
    *'ò', *
    *'ô', *
    *'ö'); *
    *$url = str_replace ($find, 'o', $url); *
    *$find = array(' ', *
    *'á', *
    *'à', *
    *'â', *
    *'ä'); *
    *$url = str_replace ($find, 'a', $url); *
    *$find = array(' ', *
    *'í', *
    *'ì', *
    *'î', *
    *'ï'); *
    *$url = str_replace ($find, 'i', $url); *
    *$find = array(' ', *
    *'ú', *
    *'ù', *
    *'û', *
    *'ü'); *
    *$url = str_replace ($find, 'u', $url); *
    *$find = array('/[^a-z0-9-<>]/', *
    *'/[-]+/', *
    '/<[^>]>/'); *
    *$repl = array('', *
    *'-', *
    *''); *
    *$url = preg_replace ($find, $repl, $url); *
    *return $url; *
    *} *
    *function rewrite_urls($content) *
    *{ *
    *function if_query($amp) *
    *{ *
    *if($amp != '') *
    *{ *
    *return '?'; *
    *} *
    *} *
    $url_in = array('/(?<!/)viewforum.php?f=([0-9]+)((&)|(&)){0,1}([^>]+>)(.?)</a>/e', *
    '/(?<!/)viewtopic.php?p=([0-9]+)((&)|(&)){0,1}([^>]+>)(.?)</a>/e', *
    '/(?<!/)viewtopic.php?t=([0-9]+)((&)|(&)){0,1}([^>]+>)(.?)</a>/e'); *
    *$url_out = array("make_url_friendly('\6') . '-vf\1.html' . if_query('\2') . stripslashes('\5\6') . '</a>'", *
    *"make_url_friendly('\6') . '-vp\1.html' . if_query('\2') . stripslashes('\5\6') . '</a>'", *
    *"make_url_friendly('\6') . '-vt\1.html' . if_query('\2') . stripslashes('\5\6') . '</a>'"); *
    *$content = preg_replace($url_in, $url_out, $content); *
    return $content;
    }

    Dopo apri includes/page_tail.php e cerca

    *if ( $do_gzip_compress ) *
    *{ *
    *// *
    *// Borrowed from php.net! *
    *// *
    *$gzip_contents = ob_get_contents(); *
    *ob_end_clean(); *
    *$gzip_size = strlen($gzip_contents); *
    *$gzip_crc = crc32($gzip_contents); *
    *$gzip_contents = gzcompress($gzip_contents, 9); *
    *$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4); *
    *echo "\x1f\x8b\x08\x00\x00\x00\x00\x00"; *
    *echo $gzip_contents; *
    *echo pack('V', $gzip_crc); *
    *echo pack('V', $gzip_size); *
    }

    Ora sostituisci tutto con questo codice

    *if ( $do_gzip_compress ) *
    *{ *
    *// *
    *// Borrowed from php.net! *
    *// *
    *$gzip_contents = ob_get_contents(); *
    *ob_end_clean(); *
    *echo rewrite_urls($contents); *
    *global $dbg_starttime; *

     *$gzip_size = strlen($gzip_contents); * 
     *$gzip_crc = crc32($gzip_contents); * 
    
    
     *$gzip_contents = gzcompress($gzip_contents, 9); * 
     *$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4); * 
    
    
     *echo "\x1f\x8b\x08\x00\x00\x00\x00\x00"; * 
     *echo $gzip_contents; * 
     *echo pack('V', $gzip_crc); * 
     *echo pack('V', $gzip_size); * 
    

    *} *
    *else *
    *{ *
    *$contents = ob_get_contents(); *
    *ob_end_clean(); *
    *echo rewrite_urls($contents); *
    *global $dbg_starttime; *
    *} *
    Adesso apri o crea il file .htaccess e inserisci queste righe
    #**Options +FollowSymlinks *
    RewriteEngine On *
    RewriteBase / *
    RewriteRule [.]-vf([0-9]
    ) viewforum.php?%{QUERY_STRING}&f=$1 *
    RewriteRule [.]-vp([0-9]
    ) viewtopic.php?%{QUERY_STRING}&p=$1 *
    RewriteRule [.]-vt([0-9]
    ) viewtopic.php?%{QUERY_STRING}&t=$1 *

    Ricorda che RewriteBase / cambia in base a dove hai installato il forum. Se ad esempio ce l?hai nella cartella ?forum? il RewriteBase diventa RewriteBase /forum/