- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- [phpBB] Topic title nell'url tramite mod_rewrite
-
In giro ho trovato anche questa
mod: http://www.phpbbhacks.com/download.php?id=2207
demo: http://eric.best-1.biz/
cosa ne dite ?
Poi ho trovato anche questa cosa, non so se può essere interessante:
http://www.phpbb.com/kb/article.php?article_id=29 !
Fatemi sapere, voi esperti !
-
@Tuonorosso said:
Ciao ragazzi,
partendo da questo link http://www.computerbb.org/about2261.html ho trovato questo mods.Il fatto è che proprio non mi funziona. Le pagine mi rimangono sempre in .php?par=X invece che trasformarsi in xxxxx-vt-X.htm
Ecco il codice:
># #-----[ OPEN ]------------------------------------------ # includes/page_header.php # #-----[ FIND ]------------------------------------------ # $template->set_filenames(array( 'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl') ); # #-----[ AFTER, ADD ]------------------------------------------ # 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; } # #-----[ OPEN ]------------------------------------------ # includes/page_tail.php # #-----[ FIND ]------------------------------------------ # 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); } # #-----[ REPLACE, WITH ]------------------------------------------ # 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; } >``` .HTACCESS Options +FollowSymlinks
RewriteEngine On
#this may cause isues with subdirs and so I have not enabled it.
#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=$1I dubbi che mi sono venuti sono 2:
- Avevo dei mods in queste 2 pagine, allora ho provato anche con page_header e page_tail presi vergini ma non funziona lo stesso
- Forse il mio problema è che ho l'indirizzo con sottodominio http: //forum.recensiamo.it , ma anche qui, provando a digitare un indirizzo con finale .htm la pagina si vede. Il problema sembra dunque nella scrittura degli url in maniera corretta. (da qui che il .htaccess sia corretto)
Grazie a chiunque possa aiutarmi a comprendere il codice
PS: credo che il succo stia nel page_tail.phpHo applicato passo passo la modifica su un forum con template subsilver e senza altre mod rilevanti.
Non mi è cambiato nulla. I link mi appaiono ancora come viewtopic.php?
dove devo andare a modificare per far creare i link con in essi il titolo del topic
-
Un consiglio: ma perché, anziché perdere il sonno per cercare di far funzionare questi mod/hack per phpBB, non passate a un forum che abbia gli URL spider-friendly built-in? [url=http://www.simplemachines.org/]SMF è open-source, accessibile e mi pare che funzioni benissimo (potete vedere la 1.1 RC2 in azione sul [url=http://forum.joomla.org/]forum di Joomla.org).
-
chissá, probabilmente perché, come me, non l'avevano mai sentito nominare
certo che [url=http://www.simplemachines.org/about/features.php]la lista di features é abbastanza indicativa...
-
@must said:
chissá, probabilmente perché, come me, non l'avevano mai sentito nominare
Io lo sto "tenendo d'occhio" praticamente dalla nascita, e mi sembra davvero molto ben fatto: soltanto dal punto di vista dell'accessibilità, non c'è proprio confronto con phpBB, che però ha dalla sua il fatto di essere molto diffuso.
-
@ArkaneFactors said:
Un consiglio: ma perché, anziché perdere il sonno per cercare di far funzionare questi mod/hack per phpBB, non passate a un forum che abbia gli URL spider-friendly built-in? [url=http://www.simplemachines.org/]SMF è open-source, accessibile e mi pare che funzioni benissimo (potete vedere la 1.1 RC2 in azione sul [url=http://forum.joomla.org/]forum di Joomla.org). :)Sono masochista.
Proprio non riesco a farlo andare...
Mi d questo errore:
Fatal error: Cannot redeclare if_query() (previously declared in /home/mhd-01/www.forumlibri.com/htdocs/forum/includes/page_header.php:146) in /home/mhd-01/www.forumlibri.com/htdocs/forum/includes/page_header.php on line 146che è proprio dove chiama la funzione:
function if_query($amp) { if($amp != '') ``` :x :x :x E poi io AMO il phpbb :D
-
@fabioski said:
Sono masochista.
Fatal error: Cannot redeclare if_query() (previously declared in /home/mhd-01/www.forumlibri.com/htdocs/forum/includes/page_header.php:146) in /home/mhd-01/www.forumlibri.com/htdocs/forum/includes/page_header.php on line 146
Hai incluso due (o più) volte page_header.php.
Consiglio: usa [url=http://php.net/require_once]require_once per gli include.
-
@ArkaneFactors said:
Fatal error: Cannot redeclare if_query() (previously declared in /home/mhd-01/www.forumlibri.com/htdocs/forum/includes/page_header.php:146) in /home/mhd-01/www.forumlibri.com/htdocs/forum/includes/page_header.php on line 146
Hai incluso due (o più) volte page_header.php.
Consiglio: usa [url=http://php.net/require_once]require_once per gli include. ;)Non ho modificato nulla del phpbb. E non so "metterci" le mani
Non so dove venga inclusa questa pageheader...
-
@fabioski said:
Non ho modificato nulla del phpbb.
Come sarebbe, "Non ho modificato nulla"? Sopra hai scritto:
@fabioski said:
Ho applicato passo passo la modifica
-
Ops, volevo dire che oltre a quella modifica descritta nella mod non ho fatto altre modifiche.
Cioè io ho installato il phpbb, ho cambiato 3 righe nel file sessions.php e poi ho applicato la modifica.
Il template è lo Subsilver.
E nonostante ciò non mi funziona
-
Beh, almeno consolati: [url=http://snipurl.com/pvvy]sei in buona compagnia.
Evidentemente quel mod ha un problema con la versione di phpBB che stai usando tu.
L'errore sembra verificarsi nel footer (page_tail.php). Ora cerco di capire perché.
-
Uhm, ho dato un'occhiata al codice di phpBB, ma purtroppo mi riesce molto difficile capire che cosa causa quell'errore con le scarse informazioni che ho a disposizione. Guardando le pagine indicizzate da Google, comunque, il problema sembra verificarsi solo su /profile.php e /search.php: è il tuo caso? Se sì, in vari include (ad es. in includes/usercp_register.php) vedo questa linea che potrebbe essere la "colpevole":
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
Con ogni probabilità, quando quella linea viene eseguita, page_header.php è già stato incluso da qualche parte (dove? non lo so :D). Abbastanza strano il fatto che l'errore si verifichi dopo che il footer è già stato inviato al browser (se guardi il sorgente delle pagine indicizzate da Google, vedrai che l'errore di PHP viene inserito dopo il tag di chiusura </html>).
Sicuramente il bug potrebbe essere aggirato (non risolto) usando include_once() (o require_once()) al posto di include(), come suggerito sopra. Ma questo implica quantomeno un search&replace su tutti i file sotto /include. Vedi tu se è il caso.
Un'ultima domanda: che cos'hai modificato in sessions.php, esattamente?
-
@ArkaneFactors said:
Un'ultima domanda: che cos'hai modificato in sessions.php, esattamente?
Grazie infinite AF, sto anche io ma ho deciso che lascio perdere e provo altri mods.Modificai questa cosuccia:
includes/sessions.php # #-----[ FIND ]------------------------------------------ # $SID = 'sid=' . $session_id; # #-----[ REPLACE WITH ]------------------------------------------ # if ( $userdata['session_user_id'] != ANONYMOUS ){ $SID = 'sid=' . $session_id; } else { $SID = ''; }
Buone cose,
fabioski
-
Uhmmm... Ultimo tentativo prima di desistere: prova a [url=http://www.phpbb.com/kb/article.php?article_id=12]disattivare il debug mode. Forse è quello a causare la doppia inclusione di page_header.php (vedi il sorgente HTML di [url=http://www.planetewebmaster.com/forum/search.php?search_id=unanswered]questa pagina).
-
@Jantima said:
Qui c'è Il file zip, che contiene tra l'altro Il mod in questione, che non credo sia lo stesso, magari è simile, e che potete visionare qui
Ho usato quello per google contenuto in quel file.Ho dovuto modificare una cosa nell' .htaccess mettendo come cartella non
/
ma
/forum/
ed ora dopo 1000 pugni sul pc (dati molto piano...) funziona:
LibriAdesso però vorrei capire come posso dare alla home page del sito i link alle ultime discussioni con gli stessi link
-
@fabioski said:
funziona:
Libri
Molto belli i nuovi URL!
-
@ArkaneFactors said:
Molto belli i nuovi URL! :)Grandioso Fattori Arkani, tu che vivi agli antipodi... Mi dai una dritta di come posso "ricostruirli per creare i link agli ultimi topcs dalla home peigg?
-
A grandi linee: dovresti guardare il codice utilizzato per generare i link sulla home page, e intervenire lì con modifiche analoghe a quelle che hai apportato al resto di phpBB.
-
potresti mettere in un post, per favore, i passaggi dell'installazione definitivi per far funzionare il mod ?
-
@alive said:
potresti mettere in un post, per favore, i passaggi dell'installazione definitivi per far funzionare il mod ?
- A chi dici? (a me? spero di no)
- Di quale mod parli? Di quello di Tuonorosso? O di quello di fabiòski?