WordPress: riparare tramite MySQL i link non funzionanti

Controllando il mio blog che è realizzato con WordPress 3.0.3 mi sono accorto che in alcuni post/articoli c’erano degli indirizzi internet di wikipedia senza http:// questo comportava che se un lettore cliccava sopra al link veniva reindirizzato alla pagina www.marcobruni.info/wordpress/indirizzo che è inesistente, invece di andare sul link giusto a wikipedia.

La “colpa” è di chrome che per comodità accorcia gli indirizzi che uno mette sulla sua barra eliminando http:// ma questo comporta che se uno copia dalla barra e lo incolla ad esempio nel post che sto scrivendo mi creerà un link sbagliato. Per risolvere il problema dei link non funzionati, mi sono collegato al mio spazio di aruba e tramite PhpMyAdmin (che Aruba fornisce per la gestione del database MySQL) ho fatto una query per trovare tutti gli articoli che avevano questo problema:

SELECT * FROM  `wp_posts` 
WHERE `post_content` LIKE '%href="it.wikipedia.org%' AND `post_status` =  'publish'

La query sql in sostanza cerca nella tabella degli articoli (tabella wp_posts) quelli il cui contenuto (il campo post_content) abbia all’interno la stringa href=”it.wikipedia.org (notate senza http://) e che siano articoli pubblicati (il campo`post_status` = ‘publish’).
Infine tramite gli strumenti di PhpMyAdmin ho modificato i post aggiungendo http:// prima di it.wikipedia.org.

RISOLTO – WordPress: Bug in htaccess sull’installazione automatica di Aruba

Ieri ho scritto un articolo sul mio blog WordPress: personalizzare l’area quickpress della bacheca quando mi accorgo pubblicandolo che il link diretto all’articolo non funzionava e se qualunque browser provava a scriverlo nell’area indirizzi dava errore 404 pagina non trovata.

Da bravo programmatore e sistemista che tutti i giorni combatte con i bug dei software, comincio a scandagliare google per trovare una soluzione. L’unico articolo interessante che trovo è questo http://wordpress.org/support/topic/permalinks-not-working-how-to-restore in cui si parla di problemi del file htaccess e mi cominciano a salire dei sospetti su Aruba. Il mio file htaccess è il seguente:

RewriteEngine On #created by aruba do not touch this file!
RewriteCond %{REQUEST_URI} !^/wordpress
RewriteRule ^(.*)$ wordpress/$1 [L]

Continuo ad informarmi scrivendo un messaggio sul forum di www.wordpress-it.it e l’unica risposta utile che mi danno è di provare a cambiare le impostazioni dei permalinks cioè dei tipi degli indirizzi del blog cambiando in www.marcobruni.info/data/nome articolo/, infatti così funziona ma rimane il problema dei visitatori dei vecchi indirizzi che si troverebbero un bel messaggio indirizzo inesistente..Bruttissimo. Sempre nel forum mi consigliano una lista di plugin per ridirezionare da una vecchia struttura di permalinks a quella nuova http://is.gd/iTpk6, ma nessuno di questi mi funziona e quindi ritorno alla vecchia struttura che ho attualmente in uso con il link dell’articolo sempre non raggiungibile.

Non mi arrendo e apro un ticket per ricevere assistenza su questo problema con Aruba che da ieri prova a capirci qualcosa ma brancola nel buio.

Io continuo a fare prove su prove da bravo debugger e finalmente….UALAAA TROVATO…HO CAPITO se il permalink dell’articolo inizia con la parola wordpress l’indirizzo non è raggiungibile, basta mettere la parola wordpress in mezzo o alla fine e tutto funziona.

Dopo la strabiliante scoperta comunico al mondo (forum, aruba, friendfeed etc..) la mia scoperta e gli unici che mi rispondono sono gli amici della http://friendfeed.com/lega-nerd e cominciamo a discutere http://friendfeed.com/filter/discussions e si consolida sempre di più il sospetto su Aruba e sulla sua installazione automatica.

[AGGIORNAMENTO DEL 18/12/2010 10:35] RISOLTO
Ho risolto senza troppe complicazioni e senza toccare htaccess, mi ero scordato nelle Impostazioni Generali di mettere come Indirizzo del sito (URL) = http://www.marcobruni.info/wordpress , adesso funziona tutto. Naturalmente i vecchi permalinks non li modifico altrimenti sarebbero irraggiungibili.