- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- Guida - Installare e configurare le URL su PhpBB2
-
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
.htaccessPassiamo 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/