- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- Crawl errors per cambio root directory
-
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
-
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...
-
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 rispostala 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
-
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
-
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]
-
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
-
-
Hai provato ad inserire solo quello nell'htaccess della cartella joomla?
-
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 file3 - Solo seconda regola in cartella joomla. non succede nulla,nessuna variazione di comportamento
ciao
-
Prova ad inserire questa regola:
RewriteRule ^joomla/(.*)$ xttp://3w.miosito.it/$1 [L,R=301]
Nell'htaccess della cartella joomla dopo il
RewriteBase /
-
niente.. neanche cosi va sempre 404... ma c'è un modo per fare debug dell'htaccess? vorrei essere sicuro che venga interpretato..
ciao
-
Debugger no, puoi solo vedere se la applica o no.
Il tuo problema è strano, secondo me manca qualche elemento.
-
ciao,
riassumo la situazione per essere sicuro di non aver dimenticato nulla1 - 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
-
Ho ricostruito la tua situazione ma con file statici, utilizzando i tuoi htaccess
cartella root con:
file .htacces
cartella joomlacartella joomla con:
file .htaccess
cartella categoriacartella categoria con:
file articolo.htmlRiesco 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
-
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
-
Prego,
per fortuna non ho mollato