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/