• User

    Crawl errors per cambio root directory

    Ciao a tutti,

    per vari motivi il mio server su cui ho installato joomla è diviso in sotto-cartelle su cui faccio vari test.

    Quando ho messo on-line il sito, ho commesso l'errore di creare la root dello stesso in una sotto-cartella del tipo:

    3w.sito.it/joomla/pagina.html
    

    questo senza creare un htaccess per il rewrite.

    Dopo qualche tempo, pur lasciando la struttura originale nel file-system, ho creato un htaccess che effettua il mod-rewrite dei link nella sotto cartella direttamente dalla root del sito quindi l'esempio precedente diventa

    3w.sito.it/pagina.html
    

    tutto sembrava funzionare in modo perfetto ma ad un certo punto ho trovato moltissimi errori per pagine che puntano alla precedente configurazione nel web master tools di google.

    credo che il problema sia dovuto al fatto che il link della pagina a cui punta il crawler non sia più valida per joomla in quanto per apportare le modifiche di cui sopra ho modificato anche il file di configurazione di joomla facendo in modo che la root del sito sia la root del server (il tutto condito con htaccess che "interpreta" il link e lo reindirizza nella sotto cartella)

    di seguito la porzione di htaccess che ho attualmente nella root del sito:

    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .* - 
    RewriteRule ^(.*)$ joomla/$1 [QSA,L]
    
    

    questo mi consente di avere varie sub-directory sul file system e funziona perfettamente ma a questo punto vorrei poter fare in modo che tutti i link che puntavano a

    
    3w.sito.it/joomla/pagina.html
    
    

    vengano automaticamente reindirizzati a

    
    3w.sito.it/pagina.html
    
    

    ho provato con questo codice in htaccess ma non ha funzionato:

    Redirect 301 ^/joomla/ hxxp://3w.miosito.it/
    

    qualcuno mi sa indicare se è possibile risolvere questo problema e fornirmi indicazioni su come procedere?

    grazie a tutti
    Ciao


  • User

    ciao,
    avevo dimenticato di indicare che nella cartella /joomla/ è presente un'altro htaccess cosi configurato:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) 
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) 
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) 
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ index.php [F,L]
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  
    RewriteRule (.*) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    

    oggi, per provare a risolvere il problema, ho aggiunto al file htaccess nella root questo codice:

    RewriteRule ^joomla/(.*)$  xttp://3w.miosito.it/$1 [L,R=301]
    

    e nell'htaccess in /joomla/ questo codice:

    
    ho modificato RewriteBase /
    con RewriteBase /joomla/
    e ho aggiunto:
    RewriteRule ^(.*)$ xttp://3w.miosito.it/$1 [L,R=301]
    

    queste regole le ho prese dal forum in questo thread:

    /forum/818701-post2.html
    

    purtroppo aggiungendo queste ultime modifiche la cosa non funziona correttamente e il sito non può più essere caricato...


  • User

    ciao,

    scusate vorrei chiedere una cosa, vedo che il thread è stato letto ben 54 volte in 3 giorni ma non ho ricevuto nessuna risposta (anche solo negativa).

    Lungi da me pretendere qualsiasi cosa, ma vorrei solo capire se c'è qualche problema nella mia richiesta.
    A questo punto le cose sono 4:

    1 - E' una richiesta talmente stupida che non merita risposta.
    2 - Ho violato qualche regola del forum senza rendermene conto
    3 - Non c'è nessun modo per risolvere il problema.
    4 - Nessuna sa darmi una risposta

    la 4 mi sembra improbabile... e le altre meritano almeno una risposta negativa o una critica no?

    Vorrei quindi capire... in quale categoria ricado?!??!

    Ripeto! non pretendo assolutamente nulla men che meno una soluzione pronta ma mi farebbe piacere capire se sono sulla strada giusta o se ho sparato una mega cavolata o se il problema non ha soluzione!!!

    grazie e ciao


  • User

    scusate, a rischio di sembrare un idiota... vi chiedo gentilmente di scrivere qualsiasi cosa.. comincio davvero ad avere il sospetto che non si legga il messaggio.. 75 click e nessuna risposta!!!

    ciao e grazie


  • Super User

    Ciao digitalblade,
    forse nessuno ha risposto poichè, per quanto mi riguarda non ho capito bene il contesto del problema, oltre a fatto che sono pieno di lavoro e molto preso dal seo contest.

    Riepilogando devi fare un url rewrite da da /joomla/tuttigliurl a /tuttigliurl?

    Se è così prova ad aggiungere nell'.htaccess della root questa regola:

    
    RewriteRule ^joomla/(.*)$  /$1 [L,R=301]
    
    

    supponendo che l'.htaccess contenga già:

    
    RewriteEngine On
    RewriteBase /
    
    

    Oppure, dato che la cartella joomla è vuota o non più esistente, crea la cartella joomla ed inserisci questo htaccess:

    
    RewriteEngine On
    RewriteBase /joomla/
    RewriteRule ^(.*)$  /$1 [L,R=301]
    
    

  • User

    ciao,

    prima di tutto mille grazie per la risposta.
    Spero che la mia richiesta non sia stata presa come una mancanza di rispetto nei confronti di chi frequenta il forum, non pensavo di aver esposto il problema in modo incomprensibile (e di questo mi scuso) ma pensavo sinceramente ci fosse qualcosa di altro tipo che non andasse con il mio post...

    Ho fatto i test che mi hai indicato (che se non ho capito male, sono molto simili a quelli che ho già tentato e indicato nel mio secondo post) anche io avevo pensato di risolvere in quel modo.
    Purtroppo inserendo quelle regole si verificano queste due situazioni:

    • inserendo la prima il sito funziona regolarmente ma se si punta a /joomla/categoria-articolo/titolo-articolo.html non accade nulla

    • aggiungendo la seconda non è più possibile visualizzare il sito in quanto si genera un loop che porta all'impossibilità di visualizzare la pagina. In particolare questa regola crea problemi a causa della rule rewritebase /joomla/ tolta la quale il sito funziona regolarmente ma non risolve il problema della directory errata.

    per essere più chiaro ti indico come è configurato il mio server:

    root
    |---joomla_dev
    |---joomla_test
    |---joomla
    |---ecc.

    Nella root ci sono i file htaccess che ho indicato nel primo post e nella cartella joomla (che esiste ed è quella in cui c'è il sito in produzione) ho il file htaccess indicato nel secondo post (non li ripeto per non rendere chilometrico il messaggio)

    Il problema è che se il digito

    3w.miosito.it/categoria-articolo/titolo-articolo.html

    tutto funziona correttamente, ma se digito

    3w.miosito.it/joomla/categoria-articolo/titolo-articolo.html

    mi si presenta una pagina 404. Questo comporta molti errori in webmaster tools e inoltre i link verso di me da altri siti non sono più operativi.

    Ti ringrazio ancora una volta per il tuo aiuto, spero che quando avrai un attimo di tempo potrai nuovamente darmi un consiglio per cercare di risolvere questo problema.

    ciao e grazie


  • Super User

    Hai provato ad inserire solo quello nell'htaccess della cartella joomla?


  • User

    prove effettuate:

    1 - Solo la prima regola nella root - Non succede nulla, nessuna variazione di comportamento nel sito

    2 - Prima regola nella root e seconda regola in directory joomla
    il sito va in loop e non è più possibile visualizzare nessun file

    3 - Solo seconda regola in cartella joomla. non succede nulla,nessuna variazione di comportamento

    ciao


  • Super User

    Prova ad inserire questa regola:

    
    RewriteRule ^joomla/(.*)$  xttp://3w.miosito.it/$1 [L,R=301]
    
    

    Nell'htaccess della cartella joomla dopo il

    
    RewriteBase /
    
    

  • User

    niente.. neanche cosi va 😞 sempre 404... ma c'è un modo per fare debug dell'htaccess? vorrei essere sicuro che venga interpretato..

    ciao


  • Super User

    Debugger no, puoi solo vedere se la applica o no.
    Il tuo problema è strano, secondo me manca qualche elemento.


  • User

    ciao,
    riassumo la situazione per essere sicuro di non aver dimenticato nulla

    1 - host aruba

    2 - Struttura directory:

    
    root
      |---joomla_dev
        |---joomla_test
        |---joomla
        |---ecc.
    
    ```La directory joomla contiene i file effettivi del cms mentre in root ci sono solo un htaccess e un robots.txt e niente altro.
    
    3 - Htaccess in root:
    

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .* -
    RewriteRule ^(.*)$ joomla/$1 [QSA,L]

    RewriteEngine On
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D)
    RewriteCond %{QUERY_STRING} base64_encode.(.)
    RewriteCond %{QUERY_STRING} (<|%3C).script.(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2})
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ index.php [F,L]

    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.])$
    RewriteRule (.
    ) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

    5 - Problema che si vorrebbe  risolvere:
    
    se digito: 3w.miosito.it/categoria/articolo.html tutto funziona regolarmente
    
    se digito: 3w.miosito.it/joomla/categoria/articolo.html NON funziona e mi restuisce 404
    
    vorrei poter utilizzare entrambe i link senza distinzione.
    
    le modifiche fin qui suggerite non hanno dato esito positivo
    
    
    ciao e grazie

  • Super User

    Ho ricostruito la tua situazione ma con file statici, utilizzando i tuoi htaccess

    cartella root con:
    file .htacces
    cartella joomla

    cartella joomla con:
    file .htaccess
    cartella categoria

    cartella categoria con:
    file articolo.html

    Riesco a raggiungere la pagina sia da /categoria/articolo.html che da /joomla/categoria/articolo.html

    Credo che il tuo problema non derivi dai tuoi .htaccess


  • User

    grazie per il tuo supporto, mi ero fissato sul fatto che potesse essere un problema di .htaccess e non mi sono minimamente posto il problema che si potesse trattare di qualcosa inerente joomla.

    Ero talmente sicuro che fosse un mio errore nell'htaccess che non avevo neanche provato ad effettuare il test che hai indicato nel tuo ultimo post...
    Dopo quanto mi hai detto, ho indirizzato la mia attenzione su come joomla gestisce il path e ho fatto una piccolissima fix nel modulo di routing risolvendo il mio problema.

    Grazie molte per il tuo aiuto!

    ciao


  • Super User

    Prego,
    per fortuna non ho mollato 😉