• Ciao,

    mi chiamo Alessandro e ho un problema con wordpress, la sua installazione in un sotto dominio e il file .htaccess.
    Cerco di esporre il mio problema qui di seguito.
    Fino a due giorni fa avevo wordpress 4.7 installato in una sotto cartella del dominio principale, precisamente in
    nomesito.com/blog/
    Inoltre wordpress aveva i permalink impostati come segue:
    /%category%/%year%/%monthnum%/%postname%/

    Due giorni fa ho eseguito i seguenti passaggi:

    1. cambiato server (ho spostato il dominio su altro Provider)
    2. creato il seguente sottodominio: blog.nomesito.com che viene automaticamente mappato nella cartella nomesito.com/blog/
    3. installato wordpress da zero nel sottodominio, ossia in http://blog.nomesito.com
    4. importato i vecchi dati nel DB (con le opportune modifiche)
    5. richiamato il blog da HTTP.

    Ha funzionato tutto al primo colpo! E ancora funziona…
    C’è però un ovvio problema: i 404 derivanti da tutti i vecchi post indicizzati. Ossia, se una parsona richiama il seguente articolo
    nomesito.com/blog/categoria1/aaaa/mm/titoloDelPost
    deve essere reindirizzato (tramite 301) in
    blog.nomesito.com/categoria1/titoloDelPost

    Banalità direte voi.
    Regoletta nell’htaccess e via.
    Già…
    Quindi ho creato il file .htaccess nella root (nomesito.com) e ci ho scritto dentro la seguente regex perl:
    RewriteRule ^(.*)blog/([a-zA-Z].*)/(\d){4}/(\d){2}/(.*)$ http://blog.nomesito.com/$2/$5 [R=301, NC]

    La regex funziona (parola di http://www.regexe.com/ e testata in altro modo), ma non viene minimamente interpretata dal server. Se però vado nella cartella /blog/ e rimuovo (o commento) il file .htaccess creato da wordpress in fase di installazione, allora il redirect avviene correttamente.
    Purtroppo commentando il file htaccess di wordpress, redirigo l’utente su una pagina che non risponde.
    Al momento il file htaccess di worpdress è il seguente (lo ha creato così in fase di installazione):

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

    Sono seguite decine… ma cosa dico decine, centinaia… ma cosa dico centinaia, migliaia di prove su entrambi i file .htaccess (quello nella root creato da me e quello nella cartella /blog/ creato da wordpress) nel vano tentativo di venire a capo della strana situazione in cui mi sono venuto a trovare. Ho anche chiesto aiuto ai signori del Provider, ma loro non hanno la minima idea di cosa dirmi. Niente da fare.

    Dopo tutti questi tentativi penso di poter dire che si tratta di un problema di mappatura tra il sotto dominio blog.nomesito.com e la cartella /blog/ (nella quale è fisicamente installato wordpress). Se richiamo la pagina http://nomesito.com/blog/ mi risponde il blog dicendomi che non trova la pagina (mentre mi aspetterei un automatico redirect verso blog.nomesito.com)…
    Ci sto diventando matto 😀
    Spero di essere riuscito a spiegare quale è il mio problema e spero ancor di più che qualcuno di voi abbia più esperienza di me per dirmi come uscirne!

    Intanto grazie di essere arrivati fino a qui.
    Attendo fiducioso vostri consigli.
    Alessandro Stella

Stai visualizzando 2 risposte - dal 1 al 2 (di 2 totali)
  • goldengreenhouse

    (@goldengreenhouse)

    Io ho lo stesso idendico problema, l’unica differenza è che ho cambiato dominio da http://www.miosito.com1 a http://www.miosito.com2, ma i problemi sono analoghi.

    Aiutateci

    Chi ha creato la discussione staralex

    (@staralex)

    Dunque…
    anche se dopo molte settimane, rispondo da solo al mio problema perché può essere utile a qualcuno.
    Il problema è duplice:

    1. la regola di rewrite
    2. il posizionamento del file .htaccess.

    La reogla di rewirte deve essere inserita nel file .htaccess posizionato nella cartella in cui è installato wordpress, nel mio caso era /blog/, ossia qualcosa del tipo http://nomemiosito.com/blog/.htaccess.
    All’interno di tale .htaccess bisogna cambiare la regola di rewrite che ho scritto sopra perché adesso siamo nella sotto cartella /blog/ e quindi bisogna scrivere qualcosa del tipo
    RewriteRule ^([a-zA-Z].*)/(\d){4}/(\d){2}/(.*)$ http://blog.nomemiosito.com/$1/$4 [R=301, L]
    Ricordo che, nel mio caso, dovevo redirezionare link del tipo
    nomemiosito.com/blog/categoria/anno/mese/slug/
    in link del tipo
    blog.nomemiosito.com/categoria/slug/

    Insomma, come ampiamente intuibile, il problema era di natura personale: incompetenza.
    Purtroppo bisogna imparare così tante cose…
    Spero di aver aiutato qualcuno.

    Andiamo in pace.
    Amen

Stai visualizzando 2 risposte - dal 1 al 2 (di 2 totali)
  • Il topic ‘Sotto dominio, modifica permalink e htaccess’ è chiuso a nuove risposte.