Redirect con .htaccess dalla directory cgi-bin: un caso particolare Blended Search, un altro post sul blog TSW.
Jun 30

Se utilizzate Wordpress per pubblicare dei contenuti nel web potreste avere bisogno di impostare il pattern di generazione dei permalink.

Per fare questo tipo di operazione dovete utilizzare il pannello di gestione dei permalink che vi permette di personalizzare la struttura dell’URL attraverso la valorizzazione del campo Custom Structure.

All’interno di questo campo dovrete andare ad inserire un percorso come ad esempio:%category%/%postname%.html, che andrà a settare le URL dei post come: nome categoria + nome del post con estensione html. personalizzare i permalink
Di seguito vengono elencati i valori che si possono impostare:

  • %year%: l’anno del post a 4 cifre
  • %monthnum%: il mese del post a 2 cifre
  • %day%: il giorno del mese a 2 cifre
  • %hour%: l’ora del post a due cifre
  • %minute%: i minuti del post
  • %second%: i secondi del post
  • %postname%: una versione codificata del titolo del post
  • %post_id%: l’id numerico del post
  • %category%: una versione codificata del nome della categoria
  • %author%: una versione codificata del nome dell’autore.

Se ridenominate delle categorie o avere bisogno di un sistema avanzato e più flessibile di gestione delle URL, potete anche utilizzare questa comoda plugin AskApache RewriteRules Viewer per l’editing del file .htaccess direttamente dal pannello di configurazione di Wordpress:

screenshop-editor-htaccess

Consigli ed esempi:

  1. Ricordatevi sempre che Wordpress per il suo funzionamento utilizza index.php e per questo al momento dell’installazione ci sono settate delle regole di default che è preferibile non modificare:
  2. # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress.

  3. Se la l’home page della vostra piattaforma non è direttamente nella root directory, ma è nella directory blog:

  4. RewriteCond %{HTTP_HOST} ^miosito\.com
    RewriteRule ^(.*)$ http://www.miosito.com/$1 [R=301,L]

  5. Se volete eliminare i parametri dalle vostre URL:

  6. RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTP/
    RewriteCond %{QUERY_STRING} !^$
    RewriteRule .* http://www.askapache.com%{REQUEST_URI}? [R=301,L]

  7. Se avete ridenominato una categoria o un file e volete che gli utenti vengano rediretti verso URL conformi al nuovo naming:

  8. RewriteRule /blog/vecchia-categoria/(.+) http://www.miosito.com/nuova-categoria/ [R=301,L]

    RewriteRule /blog/vecchio-permalink$ http://www.miosito.com/nuovo-permalink/? [R=301,L]

  9. Se volete congiurare il rischio di qualche loop infiinto per qualche regola errata:

  10. RewriteCond %{REQUEST_URI} ^/(stats/|missing\.html|failed_auth\.html|error/).* [NC]
    RewriteRule .* - [L]
    RewriteCond %{ENV:REDIRECT_STATUS} 200
    RewriteRule .* - [L]

  11. Se volete redirigere le richieste al feed dal vostro blog al servizio di FeedBurner:

  12. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|wp-atom|wp-feed|wp-rss|wp-rdf|wp-commentsrss)(.+)\ HTTP/ [NC,OR]
    RewriteCond %{QUERY_STRING} ^feed [NC]
    RewriteCond %{HTTP_USER_AGENT} !^(FeedBurner|FeedValidator) [NC]
    RewriteRule .* http://feeds.askapache.com/apache/htaccess? [R=307,L]
    RewriteRule ^comments/?.*$ http://feeds.feedburner.com/apache/htaccess/comments [L,R=302]

Link utili:

Condividi il post:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Segnalo
  • Technorati
  • Twitter
  • Wikio IT

15 Responses to “I permalink e le URL personalizzate di Wordpress.”

  1. [...] Permalink e URL personalizzate in Wordpress; [...]

  2. surfweb says:

    Buonasera.
    Sono arrivato sul tuo blog cercando su google una guida che mi permettesse di impostare l’etsensione .htm(html) nella pagine wordpress.
    Praticamente se metto l’estensione .htm dall’area amministrativa questa regola ha effetto solo sui post e non sulle pagine.
    Sapresti indicarmi come fare per ovviare a questo problema.
    Ti ringrazio anticipatamente.

  3. Andrea Vit says:

    ciao Surfweb, ottima domanda.
    Hai ragione, in effetti le pagine non possono avere l’estensione html e non hanno una gestione integraa dei permalink.
    Ma non disperare, c’è questo link, che forse potrebbe darti una mano :-)
    http://wordpress.org/support/topic/167383
    Non l’ho ancora testato su versione aggiornata (qui fa riferimento a WP 2.5), ma credo che possa funzionare ugualmente…(magari tra qualche giorno ci faccio un paio di test :-) )

  4. surfweb says:

    Ciao Andrea.
    Sei stato un fulmine a rispondermi. Non sai quanto ho cercato questa risposta e nessuna sapeva dirmi nulla a riguardo!!
    Ho provato proprio ora la soluzione da te proposta e funziona alla perfezione.
    Sul post di riferimento c’è scritto di aggiornare anche la struttura permalink nell’area amministrativa di wordpress altrimenti si rischia un errore 404. Io ho verificato e non succede nulla. Però non si sa mai!!
    Magari tu farai sicuramente altre prove e magari trovi anche una soluzione più elegante che modificare un file del core!!

    Intanto non posso fare altro che ringraziarti… mi hai fatto un bel regalo!! :D

    P.S: Ti inserisco subito nel mio lettore feedrss!! :D

  5. Andrea Vit says:

    Addirittura…Esagerato!
    Queste domande, sono sempre un motivo per aggiornarsi ed imparare qualcosa di nuovo!
    Magari ci faccio un post, mettendo un po’ in ordine i passi da fare per raggiungere l’obiettivo.
    Buon wordpress allora!!!!

  6. surfweb says:

    Non sono esagerato. Non tutti sono disposti ad aiutare e a rispondere come hai fatto tu.

    Wordpress lo considero più che una piattaforma blog perchè lo ritengo degno per realizzare siti web anche piuttosto complessi. A differenza di joomla, drupal e tanti altri è molto più semplice da configurare, ottimizzare ed adeguare alle proprie esigenze.

  7. Il Jester says:

    Ti ringrazio anche io per le soluzioni suggerite e mi accodo al giudizio di Surfweb relativamente a wordpress. Gestisco due siti: il blog su piattaforma wordpress e un sito su Joomla. Devo dire che Wordpress da maggiori soddisfazioni.

  8. Andrea Vit says:

    Ciao Jester,
    grazie per il commento.
    Beh io sono un fan di Wordpress, sicuramente ha i suoi limiti, ma si possono fare tantissime cose davvero avanzate!

  9. Il Jester says:

    Direi! Grazie a te! ;)

  10. Alex says:

    Ciao Andrea, ho notato che da un po’ di versioni a sta parte di wordpress, se modifichi i permalink per farli finire ad esempio in .html (come fai tu in questo blog), toglie lo slash finale alla categoria… (come d’altronde succede al tuo blog)

    conosci per caso un rimedio affinchè non si verifichi questo?

  11. Matteo says:

    Ciao Andrea,

    ho letto con molto interesse il tuo post, ma non sono ancora riuscito a capire una cosa.

    La struttura dei permalink attuale nel mio sito è:

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

    e vorrei cambiarla in:

    /%category%/%postname%.html

    Mi sai dire cosa devo inserire nel file htaccess ?

    Mille grazie

  12. carlo says:

    Ciao Andrea,
    ho usato i tuoi consigli sul permalink: mi sono stati utili e ti ringrazio x le valide “dritte”!
    Un saluto,
    Carlo

  13. semileggi says:

    io non ci sto capendo niente, sono proprio impedito…Dove trovo AMMINISTRAZIONE->opzioni?

  14. DarioDN says:

    una curiosità. cosa dovrei scrivere se volessi rimuovere o sostituire “author” nel permalink di wordpress…
    solitamente infatti quando si va sulla pagina dell’autore di un post il permalink è http://www.dominio…/author/nome-autore . ecco, se io volessi far apparire “autore” al posto di “author”?
    credo si possa agire tramite htaccess no?
    grazie

  15. reav says:

    secondo voi queste cose possono influire sull’indicizzazione su google ?
    io ho provato di tutto ma proprio nn va
    [omissis]

Leave a Reply

preload preload preload