Utilizzare i Permalink

1.  Cosa sono i Permalink?

I Permalink sono gli URL permanenti ai singoli post del tuo blog, alle categorie e a post pubblicati su altri blog. Un permalink è ciò che un altro blogger userà per fare riferimento ad un tuo articolo (o categoria), oppure un link che puoi inviare via email per segnalare un tuo post. In particolare, quando sono usati per creare un link verso un singolo articolo, una volta che è stato pubblicato, l'URL deve rimanere sempre lo stesso. Di qui l'uso del termine "perma" nel nome. Per saperne di più: Permalink Gradevoli

2.  Struttura dei Tag

Per attivare e personalizzare i tuoi permalink, vai in Amministrazione -> Opzioni -> Permalink e usa i seguenti tag.

  • %year% : L'anno del post, quattro cifre, ad esempio 2004
  • %monthnum% : Mese dell'anno, p. es. 05
  • %day%: Giorno del mese, p. es. 28
  • %hour%: Ora del giorno, p. es 15
  • %minute%: Minuti, p. es. 43
  • %second%: Secondi, p. es. 33
  • %postname%: Una versione bonificata del titolo del post. In questo modo "Questo è un Bel Post!" diventa "questo-e-un-bel-post" nell'URI (vedi note in basso)
  • %post_id%: L'ID numerico del post, p. es. 423
  • %category%: Una versione bonificata del nome della categoria. Le sottocategorie appaiono anch'esse annidate nell'URI.
  • %author%: Una versione bonificata del nome dell'autore.

Attenzione ad usare solamente %postname%: Se usi il nome del post come unico elemento nei tuoi permalink, per creare una struttura del tipo mioblog.it/titolo-post, le regole di riscrittura potrebbero rendere impossibile l'accesso a documenti come i fogli di stile (che hanno un formato simile) o alla directory wp-admin. Per evitare malfunzionamenti è preferibile includere dati numerici (p. es. l'ID del post o la data) nel permalink. In aggiunta, WordPress v1.2.x richiede l'uso di una struttura di date per far funzionare cose come il calendario. Di solito un buon punto di partenza è l'uso di:

 /archives/%year%/%monthnum%/%day%/%postname%/

Note sull'uso di %category%: %category% non funziona correttamente con il mod_rewrite in versioni di Apache precedenti alla 2. Se stai usando Apache 1, non usare %category% nella tua struttura dei permalink.

Note sull'uso di %category% con categorie multiple per un post: Quando assegni categorie multiple ad un post, solo una può essere mostrata nel permalink e sarà la categoria con ID minore (vedi nella gestione delle categorie). Il post sarà comunque accessibile attraverso tutte le categorie.

Terminare correttamente i permalink: Poiché è importante garantire la tracciabilità dei singoli post tramite la tua struttura personalizzata, devi fare in modo che essa termini con %post_id% oppure con %postname%

Ad esempio:

  /archives/%year%/%monthnum%/%day%/%postname%/

3.  Modifica delle regole di riscrittura (.htaccess)

Questo passaggio non è obbligatorio se stai usando WordPress 1.5 dal momento che WordPress 1.5 crea e/o modifica il file .htaccess automaticamente.

Affinché funzioni la riscrittura degli indirizzi, il tuo server deve avere abilitato il modulo di Apache mod_rewrite. In aggiunta, devi creare un file .htaccess e posizionarlo nella stessa directory dove si trova il file principale index.php. Ad esempio: se il tuo blog WP si trova installato in dominio.it/WordPress/, devi mettere il file .htaccess in dominio.it/WordPress/.htaccess. Allo stesso modo, se la tua installazione di WP si trova in una sottodirectory, ma i visitatori accedono al tuo sito dal dominio di primo livello (dominio.it/), devi mettere il file .htaccess in dominio.it/.htaccess.

Quando crei la struttura dei permalink, WordPress genera automaticamente le regole di riscrittura e non devi fare altro che copiarle e incollarle nel tuo file .htaccess.

Alcune precauzioni sulla creazione e la modifica del file .htaccess:

  • Per creare il file .htaccess devi disporre di un accesso FTP
  • Per poter modificare il file .htaccess direttamente da WP come accade per i temi grafici ed altri file, devi prima usare il comando chmod sul file .htaccess e settarne i permessi a 666. Questa opzione però non è raccomandabile, dal momento che poi qualsiasi utente iscritto al tuo blog che ha la possibilità di modificare i temi grafici, avrà la possibilità di modificare anche il file .htaccess. Puoi cambiare i permessi a 660 per renderlo modificabile dal server, che comunque avrà la stessa limitazione.
  • Se lasci degli spazi vuoti alla fine del tuo file .htaccess, potrebbe capitare che le pagine del tuo sito non siano più visualizzabili (sebbene esistano ancora insieme a tutti i dati). Se ciò accade, cancella il file .htaccess e crealo di nuovo.
  • Se il tuo file .htaccess contiene degli errori che causano l'irraggiungibilità del sito, devi cancellare via FTP l'.htaccess incriminato, dal momento che l'editor dei file di WP non sarà più accessibile.
  • Se hai la possibilità di creare e modificare il file .htaccess dal pannello di controllo ? del tuo spazio web, nel caso di errori nel file, potresti essere in grado di modificare .htaccess anche nel caso il tuo sito web sia inaccessibile.

4.  Usare i Permalink senza mod_rewrite

Per i permalink in generale, devi usare mod_rewrite, che però non è supportato dai server Windows. Se però inserisci il nome di un file all'inizio, WordPress tenterà di passare gli argomenti alla pagina e di aggirare la necessità del mod_rewrite.

Ad esempio:

 /index.php/archives/%year%/%monthnum%/%day%/%postname%/

Se usi questa opzione, puoi ignorare tranquillamente la creazione del file .htaccess.

5.  Creare collegamenti ai Permalink

Per creare un collegamento ad un permalink all'interno del tuo sito, ad esempio verso un altro post, devi fare riferimento alla directory principale del tuo sito con uno slash alla fine, p. es.:

 /wordpress/archives/2005/10/01/specific-postname/

La struttura del link è basata sulla tua struttura dei tuoi permalink.

Per creare un collegamento ad un permalink esterno al tuo sito devi inserire il permalink completo di http://, p. es.:

 http://www.sitoesterno.it/wordpress/archives/2005/10/01/specific-postname/

6.  Risolvere problemi correlati ai Permalink

6.1  Problemi relativi alla creazione del file .htaccess

Se la tua installazione di WordPress non riesce a creare il file .htaccess o a modificare uno già esistente, ci possono essere molte ragioni. Esegui perciò i passi descritti uno alla volta, e passa a quello successivo solo se non riesci a risolvere il problema.

  1. Usa il comando chmod sul file .htaccess per settarne i permessi a 666, anche se questo non è raccomandabile, dal momento che in questo modo qualsiasi utente registrato al tuo blog abilitato alla modifica dei temi grafici, potrà modificare anche il file .htaccess.
  2. Il tuo fornitore di hosting potrebbe aver disabilitato la variabile SERVER_SOFTWARE e questo potrebbe causare il fallimento della creazione del file .htaccess da parte di WP. Se sei sicuro che sul tuo server sia installato Apache, puoi costringere WP ad usare Apache modificando il file wp-includes/vars.php. Segui queste istruzioni per effettuare i cambiamenti:

    • Apri il file wp-includes/vars.php usando l'editor di file nel pannello di controllo di WordPress. Dopo aver fatto il login, clicca su "Gestisci", poi su "File" e scorri la pagina fino in basso. Digita wp-includes/vars.php nella casella di testo che si trova sotto "Altri File".

    • Cerca la riga

 $is_apache = strstr($_SERVER['SERVER_SOFTWARE'],'Apache') ? 1 : 0; 

e sostituiscila con

 // $is_apache = strstr($_SERVER['SERVER_SOFTWARE'],'Apache') ? 1 : 0

  • Aggiungi una nuova riga sotto

 // $is_apache = strstr($_SERVER['SERVER_SOFTWARE'],'Apache') ? 1 : 0;

e scrivi:

 $is_apache = 1;

6.2  Altri Problemi

Se il tuo file .htaccess viene generato correttamente, ma i Permalink non funzionano, probabilmente hai uno di questi problemi:

  1. Il tuo server potrebbe avere disabilitato la direttiva AllowOverride. Se la direttiva AllowOverride è settata a None nel file di configurazione di Apache (httpd.conf), allora i file .htaccess vengono completamente ignorati. In questo caso, il server non permette la lettura dei file .htaccess. Quando questa direttiva è settata su All, allora è possibile inserire delle direttive nel file .htaccess. Un esempio di direttiva AllowOverride abilitata nel file httpd.conf:

 <Directory />
    Options FollowSymLinks
    AllowOverride All
 </Directory>

Se non vuoi settare AllowOverride a All (come nell'esempio sopra), allora la tua AllowOverride deve contenere la direttiva FileInfo. Affiché i cambiamenti al file httpd.conf abbiano effetto, devi riavviare Apache. Per ulteriori informazioni sulle overrides permesse consulta Apache Core Features.

6.3  Ulteriore Aiuto

Se tutti i passi sopraindicati non risolvono il problema, puoi consultare le seuenti risorse:

Come ultima risorsa, segnala un eventuale bug nel Mosquito.

Ultima modifica il 21/01/2006 ore 08:50