-
problema di link esterni
Ciao a tutti, scrivo per segnalare che esistono diversi link al mio sito sparsi per il web, ma circa la metà di loro linkano al sito principale di altervista.
Mi spiego meglio:
ho un CMS ed ho attivato le url corte, alcuni link riportano il codice delle url corte (es. http://caicomelico.altervista.org/mdpro/FAQ.phtml)
ma se clicco dalla pagina che ospita il link (es. http://www.google.it/search?hl=it&q=...n+Google&meta=)
finisco direttamente su http://www.altervista.org
se invece copio il link e lo incollo nella barra indirizzi tutto funge correttamente:
come mai?
inoltre ho una pagina di errore che dovrebbe essere visualizzata se il link non fosse corretto, ma di fatto viene ignorata.
Non è l'unico caso, ma uno dei tanti, vorrei capire il motivo.
Grazie ciao
-
hai sbagliato il codice nell'htaccess credo...
anche perche' entrando da google con l'url dinamico funziona
con l'url html (fatto dal mod_rewrite) rimanda a altervista.org
-
grazie phpone,
in effetti la tua ipotesi ha una sua logica,
ma se l'errore fosse nel codice nell'httaccess, non avrei lo stesso problema anche copiando ed incollando "l'indirizzo corto" direttamente nella barra del browser?
se io incollo http://caicomelico.altervista.org/mdpro/FAQ.phtml vado sulla pagina giusta
è questo che non mi spiego: l'errore si materializza solo da alcuni link, non dall"'indirizzo corto" in sè.
grazie, ciao
-
Da quello che vedo hai un htaccess.txt nel tuo spazio ma non un .htaccess
-
...mmm... questo potrebbe essere il nodo:
il mio .htaccess si trova dentro la dir /mdpro dove ho i files del cms, quel txt è solo un backup.
Avevo provato a mettere .htaccess nell dir principale ma mi sbagliava i rewrite e non riuscivo a farlo funzionare.
Che possa essere qui il problema?
-
Credo di sì, potesti postare il contenuto di quel file?
-
ecco il contenuto del file .htaccess dentro la dir /mdpro:
ne posto solo un pochino perchè è molto grande, la versione completa è online qui http://caicomelico.altervista.org/htaccess.txt
Codice:
# ITA
# Inserisci questo file nella tua cartella principale di MD-Pro, assieme al file index.php principale
# La riga "Options FollowSymLinks" può a volte essere eliminata, siccome causa errori di
# configurazione su certi hosts!
#Options FollowSymLinks
RewriteEngine On
# ITA
# Quest'opzione è per l'uso in Virtual Hosts o in file .htaccess per inserire le regole di riscrittura solo
# nella sezione principale, così se possiedi un tuo server non dovrai copiare le regole di riscrittura in
# ogni Virtual Host che hai. Causerà errori se viene inserita nella sezione principale dell'httpd.conf.
# RewriteOptions 'inherit'
# index.php and user.php
RewriteRule ^cambialingua-([^-]+)\.(p)?htm(l)? /mdpro/index.php?newlang=$1 [L,NC,NS]
RewriteRule ^cambiatema-([^-]+)\.(p)?htm(l)? /mdpro/index.php?theme=$1 [L,NC,NS]
RewriteRule ^index\.(p)?htm(l)? /mdpro/index.php [L,NC,NS]
RewriteRule ^utente\.(p)?htm(l)? /mdpro/user.php [L,NC,NS]
# htmlp
RewriteRule ^htmlp-([0-9]+)\.(p)?htm(l)? /mdpro/index.php?module=htmlp&func=display&pid=$1 [L,NC,NS]
# daily_archive
RewriteRule ^archivio_giornaliero-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=daily_archive&func=$1 [L,NC,NS]
RewriteRule ^archivio_giornaliero-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=daily_archive&func=display&req=get&year=$1&month=$2 [L,NC,NS]
RewriteRule ^archivio_giornaliero-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=daily_archive&func=display&req=get&year=$1&month=$2&day=$3 [L,NC,NS]
RewriteRule ^archivio_giornaliero-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=daily_archive&func=display&req=get&year=$1&month=$2&day=$3&page=$4 [L,NC,NS]
# Articles / Articoli
RewriteRule ^Articolo([0-9]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=News&file=article&sid=$1&mode=thread&order=0&thold=0 [L,NC,NS]
RewriteRule ^Articolo([0-9]+)-([A-Za-z=]+)(-ordine([0-9]))?(-soglia([0-9\-]{1,2}))?\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=News&file=article&sid=$1&mode=$2&order=$4&thold=$6 [L,NC,NS]
# FAQ
RewriteRule ^FAQ-Categoria([0-9]+)-([^-]+)-Superiore([0-9]+)-miafaq-([^-\.]+).htm$ /mdpro/modules.php?op=modload&name=FAQ&file=index&myfaq=$4&id_cat=$1&categories=$2&parent_id=$3 [L,NC,NS]
# General rules for modules with index.php?name=... / Regole generali per moduli con index.php?name=...
RewriteRule ^nome-([^-]+)\.(p)?htm(l)? /mdpro/index.php?name=$1&file=index [L,NC,NS]
RewriteRule ^nome-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?name=$1&file=$2 [L,NC,NS]
RewriteRule ^nome-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?name=$1&file=$2&$3=$4 [L,NC,NS]
RewriteRule ^nome-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?name=$1&file=$2&$3=$4&$5=$6 [L,NC,NS]
RewriteRule ^nome-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?name=$1&file=$2&$3=$4&$5=$6&$7=$8 [L,NC,NS]
RewriteRule ^nome-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?name=$1&file=$2&$3=$4&$5=$6&$7=$8&$9=$10 [L,NC,NS]
# General rules for modules with index.php?module=... / Regole generali per moduli con index.php?module=...
RewriteRule ^mod-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=$1&func=main [L,NC,NS]
RewriteRule ^mod-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=$1&func=$2 [L,NC,NS]
RewriteRule ^mod-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=$1&func=$2&$3=$4 [L,NC,NS]
RewriteRule ^mod-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=$1&func=$2&$3=$4&$5=$6 [L,NC,NS]
RewriteRule ^mod-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=$1&func=$2&$3=$4&$5=$6&$7=$8 [L,NC,NS]
RewriteRule ^mod-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/index.php?module=$1&func=$2&$3=$4&$5=$6&$7=$8&$9=$10 [L,NC,NS]
# General rules for modules with modules.php?op=modload&name=...&file=... / Regole generali per modules.php?op=modload&name=...&file=...
RewriteRule ^([^-]+)\+([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=index&req=$2 [L,NC,NS]
RewriteRule ^([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=index [L,NC,NS]
RewriteRule ^([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=$2 [L,NC,NS]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=$2&$3=$4 [L,NC,NS]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=$2&$3=$4&$5=$6 [L,NC,NS]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=$2&$3=$4&$5=$6&$7=$8 [L,NC,NS]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.(p)?htm(l)? /mdpro/modules.php?op=modload&name=$1&file=$2&$3=$4&$5=$6&$7=$8&$9=$10 [L,NC,NS]
-
provo a sparare quello che PENSO possa essere:
il problema sta nell'estensione...
il sistema contro l'hotlink non riconosce i file .phtml con pagine web... e ti rimanda alla home come fa con le gif o gli zip... insomma qualsiasi file non html :)
Codice:
GET /mdpro/FAQ.phtml HTTP/1.1
Host: caicomelico.altervista.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.google.it/search?hl=it&q=cai+val&btnG=Cerca+con+Google&meta=
Cookie: PHPSESSID=09f107f30502864b33c3d081c7ee7ab5
HTTP/1.x 302 Found
Date: Mon, 16 Oct 2006 15:44:30 GMT
Server: Apache
Location: http://home.altervista.org/site/split.php?http://caicomelico.altervista.org/mdpro/FAQ.phtml
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
richiamando la stessa identica pagina con estensione .html invece tutto ok...
visto il tuo htaccess ti consiglio vivamente di richiamare la pagina con html e non phtml... tanto il rewrite funziona lo stesso....
questa scelta almeno fino a quando le estensioni phtml non vengano aggiunte tra le eventuali esclusioni per quanto riguarda l'hotlink :tongue
******
per il problema della pagina d'errore:
penso tu ti riferisca all'errore 404....
non mi risulta si possano personalizzare le pagine tramite le direttive ErrorDocument...
puoi personalizzare però tale pagina d'errore creando il tuo file personalizzato not_found.html (mi sembra pure not_found.php... qui ti saprà dare conferma Gianluca) e forzare un refresh (via javascript e/o metatag refresh se html o via header("location:..") se php) verso la pagina personalizzata del tuo cms... cosi' non devi diventar matto con inclusioni, path relative delle immagini... etc :)
-
ok Evcz, si può fare una verifica:
come posso fare la prova se l'errore si risolve? se redireziono le pagine a .html tutti i link (google compreso) avrà nel database ancora le pag .phtml e di conseguenza non posso verificare (almeno fino a nuova re-indicizzazione) se il link alla pagina delle FAQ si apre regolarmente.
Devo creare una pagina ad hoc con svariati link e fare la prova?
in secondo luogo, perchè non tutti i link danno problemi? dove sta l'eccezionalità che ne fa funzionare alcuni ed altri no?
e poi, come hai fatto ad avere quel GET su google? in che modo ti ha fatto arrivare alla conclusione che hai descritto?
grazie
*************
in effetti la pagina not_found riporta alla mia pagina di errore del cms, dovrebbe funzionare anche con l'errore 404, almeno così credevo io
-
#1
per fare la prova basta che apri un qualsiasi forum in cui sei iscritto (ESTERNO AL DOMINIO .altervista.org.) vai per postare un nuovo messaggio...
ci incolli una sfilza di links....
fai "anteprima" e ti diverti a cliccare sui links :P
#2
intendi dire che ci sono pagine .phtml che invece ti apre correttamente? se si allora la mia ipotesi è sbagliata.... :S
#3
si tratta semplicemente della risposta che ti da il server http alla tua richiesta.. il modo + semplice per ottenerla è l'estensione "live http headers" per Mozilla Firefox...
ritornando al #2: posta qui i link anche di pagine che vanno... :S
-
Da questi indirizzi di motori di ricerca i link a pagine .phtml funzionano correttamente:
http://www.google.com/search?q=link:...ro/index.phtml
http://siteexplorer.search.yahoo.com...&fr2=seo-rd-se
http://search.msn.com/results.aspx?q...ro/index.phtml
******************
nuova, curiosa, novità:
se faccio una ricerca su google, tipo www.google.it poi scrivo le parole chiave (relative al mio sito), in tutti i link che ho trovato (con diverse parole chiave) mi riportano alla home di altervista.org
se invece faccio, sempre su google site:caicomelico.altervista.org (per vedere le pagine indicizzate da google) i link funzionano correttamente.
La stessa cosa capita con www.yahoo.it
Per es da qui la pagina FAQ.phtml di cui parlavo nel primo post funge correttamente:
http://www.google.com/search?hl=it&q...btnG=Cerca&lr=
-
ehm...
i primi vanno perchè sono index.qualcosa
gli altri forse vanno perchè nell'url REFERER compare comunque il tuo dominio...
(lo hai forzato nella query...)..
su questa seconda cosa nutro però qualche dubbio :)
il discorso del phtml ce lo potrà confermare solo Gianluca :)
-
Aspetta però, specifico meglio:
nel primo link (http://www.google.com/search?q=link:...ro/index.phtml) è vero che si ricerca una pagina index.phtml ma il link si riferisce alla http://caicomelico.altervista.org/mdpro/Downloads.phtml
e funziona.
La stessa cosa vale per gli altri 2, uno su yahoo e uno su msn.
Cioè i link alle pagine del mio sito funzionano se cliccati da quelle pagine dei motori di ricerca.
PS:Non ho afferrato il discorso del REFERER, forzato nella query.
-
in genere il controllo contro l'hotlink viene fatto in base al referer... se il referer non contiene una certa stringa (il dominio di solito) non si serve il file...
nel tuo caso per esempio
http://www.google.com/search?q=CAI%2...ella%20Sezione
non va..
mentre aggiungendo un parametro inventato che non c'entra nulla e che google non intepreta (p) contenete l'indirizzo del tuo sito:
http://www.google.com/search?p=link:...ella%20Sezione
va....
:lol:
-
Evcz sei diabolico!
Questo però significa che dal momento in cui cambio il rewrite da .phtml a .html, finchè google (o chi per lui) non re-indicizza le mie pagine, (ed almeno fino ad allora) il problema continuerà a manifestarsi.
Anche se facessi una pagina di link in un forum, come suggerivi tu, il problema non ci sarebbe come non c'è ora, ma si presenta puntuale ogni volta che viene passato il parametro "q" per il controllo contro gli hotlink.
Giusto?
-
ehm... no ... non hai afferrato proprio bene :D
il problema c'è quando nell'url della pagina in cui sono presente i link NON C'è la stringa:
http://caicomelico.altervista.org
se invece tale stringa c'è (nell'URL della pagina su cui clicki per entrare nel tuo sito)... va tutto ok...
nel tuo caso vista l'estensione .phtm/.phtml... sarebbe interessante fosse tenuta in considerazione l'idea di aggiungerli tra le estensioni "autorizzate" per il linkaggio... sentiamo cosa dice Gianluca :)
-
caicomelico:
prova adesso, anche i link in phtml dovrebbero funzionare correttamente.
-
Mitticcoooooo!!
Funziona
Grazie a tutti voi
PS grazie anche a te Evcz per la chiarezza