Come molti di voi sapranno l’url rewrite è una tecnica utilizzata per “riscrivere” lato server una url ovvero per far si che a seguito di una richiesta da parte del client di una determinata risorsa (url appunto) questa venga convertita dinamicamente in una url statica più comprensibile non solo agli umani ma soprattutto ai motori di ricerca.
Facciamo un esempio pratico, con l’url rewrite una pagina del tipo:
- viewforum.php?f=xx
viene convertita dal server in :
- forum-title-fxx.html
Come capirete bene i vantaggi di questa tecnica sono molti e legati soprattutto alle regole di indicizzazione sui motori di ricerca (Es: Google).
Più una url è “parlante” più sarà semplice indicizzarne il contenuto.
Detto ciò la stragrande maggioranza dei framework web in circolazione supportano nativamente l’url rewrite, mi viene in mente wordpress che di suo senza ulteriori modifiche al codice permette di riscrivere un url dinamicamente.
Non voglio entrare troppo in dettaglio, ma per esperienza personale posso adirvi che l’url rewrite funziona benissimo con server Linux/Apache … qualche problemino in più lo si ha con server Win/IIS , tuttavia è possibile configurare l’url rewrite anche su macchine win.
Su Linux/Apache non abbiamo alcun problema, basta creare un file .htaccess adeguato per far si che tutti gli indirizzi richiesti vengano “riscritti” dinamicamente in una forma per noi più consona.
Torniamo quindi a noi ed al nostro forum phpBB3 che, purtroppo, non supporta nativamente l’url rewrite, per cui tutti i nostri link avranno una forma del tipo:
viewforum.php?f=xx
viewtopic.php?f=xx&t=yy
Non proprio il massimo per Google!
Come fare ad attivare l’url rewrite su un forum phpBB3?
Dobbiamo innanzitutto distinguere tra nuova installazione del forum o modifica del forum esistente.
Nel caso in cui dobbiate installare da zero il forum allora la soluzione è molto semplice, basta scaricare la versione di phpBB3 moddata (modificata) dal SEO Team e l’url rewrite sarà già integrato con il nostro pacchetto, qui in download della versione 3.0.9 di phpBB3 SEO:
http://www.phpbb-seo.com/en/site-announcements/premod-3-0-9-released-t8122.html#p39324
Se invece avete già un forum online senza mod SEO attivo allora è necessario scarica ed installare la mod di phpBB3 SEO V 0.6.8 da qui:
http://www.phpbb-seo.com/en/phpbb-mod-rewrite/ultimate-seo-url-t4608.html
Concentriamo quindi la nostra attenzione sull’installazione della mod perché questo è il caso più frequente e soprattutto più complesso.
Prima di iniziare a lavorare è necessario:
– munirsi di tanta pazienza
– Fare un backUp del nostro database
– Fare un backUp dei nostri file (via ftp)
– Se possibile creare e lavorare su una copia locale del nostro forum
– Leggere bene il file install.xml contenuto nel pacchetto scaricato della mod (phpBB_SEO_Ultimate_SEO_URL_v0.6.8)
Pronti? Ok, andiamo avanti …
Abbiamo fatto i nostri backUp per cui possiamo lavorare in tranquillità, magari sulla nostra copia locale del forum.
Prima di vedere quali sono gli step di installazione da seguire, studiamo un pochino il contenuto della mod ossia i file contenuti nella cartella scaricata: phpBB_SEO_Ultimate_SEO_URL_v0.6.8.
La root della cartella si presenta cosi:
Il file install.xml è importante leggerlo bene, contiene gli step di installazione che andremo ad analizzare.
La prima cartella importante è “root” contiene i file nuovi rispetto all’installazione standard, quindi contiene quei file che possiamo tranquillamente trasferire senza che venga compromesso nulla nel nostro forum:
La seconda cartella importante è “contrib\phpBB_3.0.9_modified_files\root” che contiene i file dell’installazione originale modificati per questa mod:
Dobbiamo quindi distinguere tra nuovi file e file modificati, prestando particolare attenzione ai secondi.
A questo punto si apre un nuovo scenario che dipende dal nostro forum ossia possiamo avere le seguenti possibilità:
1 – Il nostro forum è “vergine” ossia mai nessuno ha modificato alcunché rispetto all’installazione originale di phpBB3
2 – Il nostro forum è “moddato” ossia abbiamo fatto delle modifiche di vario genere al forum per modificarne l’aspetto originale.
Nel primo caso la soluzione è semplicissima, per installare la mod possiamo tranquillamente trasferire sul nostro server i file nuovi più quelli modificati senza rischio alcuno.
Nel secondo caso invece non possiamo farlo perché andremmo a perdere le precedenti modiche fatte sui file per cui dobbiamo per forza di cose applicare le modifiche manualmente ai file.
Quindi in questa situazione non ci interessano i file contenuti nella cartella “contrib\phpBB_3.0.9_modified_files\root” ma solo quelli nuovi contenuti in “root”.
Come procedere quindi?
Dobbiamo mettere su una nuova cartella del nostro desktop (ES. phpBBSEO_mod) i file nuovi contenuti in “root” più tutti questi file contenuti nella cartella del nostro backUp locale:
common.php,
index.php,
memberlist.php,
posting.php,
search.php,
viewforum.php,
viewonline.php,
viewtopic.php,
web.config,
includes/functions.php,
includes/functions_content.php,
includes/functions_display.php,
includes/functions_posting.php,
includes/session.php,
includes/db/dbal.php,
styles/prosilver/template/attachment.html,
styles/prosilver/template/forum_fn.js,
styles/prosilver/template/overall_header.html,
styles/prosilver/template/posting_editor.html,
styles/prosilver/template/simple_header.html,
styles/prosilver/template/viewtopic_body.html
A questo punto dovremmo, manualmente e file per file, applicare tutte le modiche elencate nel file install.xml … qua ci vuole molta pazienza, me ne rendo conto, ma non è possibile fare altrimenti … dobbiamo preservare le vecchie modifiche apportate al nostro forum.
Una volta apportate tutte le modiche ai file elencati e contenuti nella nuova cartella phpBBSEO_mod siamo pronti per il rilascio vero e proprio.
Se avete una versione locale, fatelo prima sulla versione locale, successivamente sulla versione di esercizio.
Trasferite quindi tutto il contenuto della nuova cartella phpBBSEO_mod sulla root del vostro web server (o nella cartella dove avete installato phpBB3).
Una volta caricati tutti i file seguite alla lettera questi passi:
1) Impostate i permessi 777 con CHMOD alla cartella phpbb_seo/cache/
2) Svuotate la cache nella cartella phpBB phpBB/cache/ ossia cancellate tutti i file ad eccezione del file .htaccess.
3) Andate al vostro sito e digitate l’url
http://www.tuosito.com/phpBB/phpbb_seo/phpbb_seo_install.php
E seguite le istruzioni di installazione.
4) Accedete al vostro pannello di controllo ACP : è il momento di iniziare a fare qualche prova di funzionamento
5) Generate il vostro .htaccess personalizzato e caricatelo sul vostro spazio web
6) Fate un test di riscrittura url , per esempio digitando:
http://www.tuosito.com/phpBB/post1.html
Se non compare un messaggio di errore di phpBB ma compare una pagina 404 allora c’è qualcosa che non va, tornate al passo 5), altrimenti andate avanti.
7) Se tutto è andato bene, attivate l’url rewite dal vostro ACP di phpBB e congratulatevi con voi stessi, ci siete riusciti!
Buon Lavoro
Aggiornamento
Per rispondere ad alcune richieste posto le immagini relative ai settaggi che ho impostato nel mio forum per abilitare l' url rewrite:
10 commenti
Ti ho postato nell’articolo i settaggi che uso io
Ciao
Ciao Matteo,
Le differenze rispetto alla mia configurazione sono:
URL rewriting type: “Advanced”
Highlights Removing: Si
Ciao
Ho seguito tutta la configurazione e, se non erro, è andato tutto bene. ho generato il file htaccess e l’ho caricato. Tanto vero che se mi invento un ulr tipo: http://www.miosito.it/forum/qualcosa.html non ottengo un errore dal server ma vedo il forum che semplicemente mi dice che il forum non esiste (giustamente, in quanto non ho nessun forum che si chiama qualcosa)
Come url rewrite type ho messo MIXED e andando nella sezione ACP_FORM_URL vedo tutti i miei forum e le relative ri-scritture. Il problema però è che quando navig il forum, vedo ancorale url vecchie! vanno sostituite in qualche modo?
Activate URL rewriting: Si
URL rewriting type: Mixed
Activate SQL Rewriting: No
Profiles and groups injection: No
Virtual folder Profiles: No
Profiles ID removing: No
Common Search and User messages pages rewriting: No
Attachment Rewriting:No
SID Removing: No
Highlights Removing: No
Remove small words: No
Virtual Folder: No
Virtual Root: No
Forum URL caching: Si
Forum ID Removing: No
Se ti serve cedere altro dimmelo pure!
Domanda: che tipo di url rewrite hai attivato? Che settaggi hai impostato ?
Se hai attivato la riscrittura avanzata allora devi configurare bene il tutto … Se vuoi posso farti vedere i settaggi del mio forum!
La cosa strana poi è che se richiamo una pagina mettendo l’url modificato funziona. Ad esempio:
http://www.comesibacia.it/forum/viewforum.php?f=3 questa è la pagina originale.
Il sistema di rewrite vedo che l’ha rinominata così:
http://www.comesibacia.it/forum/come-conquistare-la-persona-che-ti-piace-f3.html
E chiamando quest’ultimo indirizzo vedrai che funziona. Solo che non so come mettere gli url modificati al posto di quelli vecchi
Ma guarda te.. ero convinto di aver risposto e invece vedo solo ora che il commento non c’è.
Comunque…
Il mio forum era già installato e funzionante, nessuna mod, ho solo messo un template personalizzato.
Ho generato il file htaccess con le opzioni avanzate per specificare la direttiva RewriteBase dato che il mio forum si trova non nel dominio principale ma in una sotto cartella.
Il forum lo trovi qui: http://www.comesibacia.it/forum
Grazie
Ciao Matteo,
il tuo forum era già installato e funzionante? Avevi Mod installate? hai generato il file htaccess?
PS: mandami il link del forum, cosi gli do uno sguardo … ciao
P.S. La cache l’ho svuotata
Ciao,
ho seguito tutto alla lettera, tutto è andato bene, ma navigando il forum vedo ancora i link vecchi..
Da cosa può dipendere?
Ciò che una frase di talento