Joomla.it Forum

Componenti per Joomla! => SEO => : bellatrix 18 Jul 2016, 12:50:25

: 301 verso root: url sporchi da rimuovere
: bellatrix 18 Jul 2016, 12:50:25
Ho messo mano ad un sito che soffriva di un problema sugli url friendly.
In pratica, ora ci ritroviamo le serp piene di indirizzi tipo:

.../index.php?id_lang=1
.../index.php?id_product=18&controller=product&id_lang=1
.../index.php?id_product=9&controller..
ecc.

Come rimuoverli?
L'index.php da htaccess lo rimuovo ma quello che segue, rimane.
Conoscete una regola che con un 301 porti tutto a "/" ?

Da strumenti del webmaster è possibile rimuovere temporaneamente, non più in modo definitivo, quindi, mi rimane da agire solo su lato server.
: Re:301 verso root: url sporchi da rimuovere
: luketto 19 Jul 2016, 15:53:42
Ciao bellatrix, devi usare le query string, una cosa del tipo



RewriteCond %{QUERY_STRING} ^id_lang=([0-9]+)$
RewriteRule ^index.php$ http://www.nomesito.it/? [R=301,L]





RewriteCond %{QUERY_STRING} ^id_product=([0-9]+)&controller=([a-z])&id_lang=([0-9]+)$
RewriteRule ^index.php$ http://www.nomesito.it/? [R=301,L]


e così via
: Re:301 verso root: url sporchi da rimuovere
: giusebos 19 Jul 2016, 17:49:53
magari per poterle applicare al suo problema andrebbe spiegato come si leggono.....
: Re:301 verso root: url sporchi da rimuovere
: luketto 19 Jul 2016, 17:56:59
Ciao Giusebos, problemi? potevi scrivere tranquillamente direttamente te la spiegazione, no? ho risposto secco a una precisa domanda, il come leggere le istruzioni credo sia ampiamente esplicitato in rete...


Cmq: tutto ciò che nella URL si trova dopo il punto interrogativo (?) è detto in query string, le regole quindi verificano prima la condizione (RewriteCond, query_string per l'appunto), esplicitano il parametro in query (id_lang e così via, assegando tutti i numeri o tutte le lettere) e poi riscrivono la url (RewriteRule)


Giusebos saprà completare ulteriormente qualora servisse
: Re:301 verso root: url sporchi da rimuovere
: giusebos 19 Jul 2016, 18:09:28
perchè ti scaldi nessun problema, io non sono molto bravo in questo ambito e un minimo di descrizione poteva essere interessante.

Vero è che tante informazioni si trovano in rete, quindi si, se mi dovesse succedere di utilizzarle almeno so che si chiamano query string e quindi con questa chiave effettuerò una ricerca mirata. ;)
: Re:301 verso root: url sporchi da rimuovere
: bellatrix 19 Jul 2016, 19:59:19
Ciao bellatrix, devi usare le query string, una cosa del tipo
RewriteCond %{QUERY_STRING} ^id_lang=([0-9]+)$
RewriteRule ^index.php$ http://www.nomesito.it/? (http://www.nomesito.it/?) [R=301,L]
RewriteCond %{QUERY_STRING} ^id_product=([0-9]+)&controller=([a-z])&id_lang=([0-9]+)$
RewriteRule ^index.php$ http://www.nomesito.it/? (http://www.nomesito.it/?) [R=301,L]
e così via

MA GRANDE!
Grazie, Luketto! 
: Re:301 verso root: url sporchi da rimuovere
: bellatrix 19 Jul 2016, 22:31:58
Mmm... non funziona.
Ti porto questo esempio.

www.*************.it/index.php?controller=stores

Ho aggiunto queste righe:
:
RewriteCond %{QUERY_STRING} ^index.php?controller=stores$
RewriteRule ^index.php$ http://www.*****************.it/? [R=301,L]

La stringa rimane identica.
Il RewriteEngine è su On.
: Re:301 verso root: url sporchi da rimuovere
: bellatrix 19 Jul 2016, 23:03:17
Un'altra questione interessante, Luketto, sarebbe quella di portare su determinate pagine gli utenti o gli spider dei motori (magari con un 301) provenienti da un determinato dominio.

Ad esempio:
bsmnovi.com l'ho fatto puntare su bsmgrafica.it
Sul primo ho agito sui dns (non ho hosting per piazzarci un httaccess).

Ora, bsmnovi.com ha diverse pagine nella cache di Google, ad esempio:
bsmnovi.com/contatti che vorrei fare puntare a bsmgrafica.it/studio-pubblicitario

Secondo te è possibile farlo dall'httaccess di bsmgrafica.it ?
Qualcosa tipo:

:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} bsmnovi.com/contatti /studio-pubblicitario
...??
</ifModule>
: Re:301 verso root: url sporchi da rimuovere
: tomtomeight 20 Jul 2016, 07:50:15
Non puoi, a bsmgrafica non arriverà mai un url bsmnovi.
: Re:301 verso root: url sporchi da rimuovere
: luketto 20 Jul 2016, 09:01:44
Ciao bellatrix, prova a levare il $ dalle istruzioni, magari sul tuo web server fa storie, sul mio funziona.
: Re:301 verso root: url sporchi da rimuovere
: bellatrix 20 Jul 2016, 13:16:15
Non puoi, a bsmgrafica non arriverà mai un url bsmnovi.

Eppure, scusa, è possibile bloccare in base al dominio di provenienza

:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} dminio.com [NC,OR]
RewriteRule .* - [F]
</ifModule>


Ciao bellatrix, prova a levare il $ dalle istruzioni, magari sul tuo web server fa storie, sul mio funziona.

Provato ma nulla.
Dunque, l'url è questo:

:
*************/index.php?controller=stores
Ho inserito questa stringa:

:
RewriteCond %{QUERY_STRING} ^index.php?controller=stores
RewriteRule / [R=301,L]

Il browser risolve qui:

:
http://www.***************.it/?controller=stores
: Re:301 verso root: url sporchi da rimuovere
: tomtomeight 20 Jul 2016, 14:06:49
Dunque cerchiamo di capirci, se hai un redirect semplicemente dal dominio A ti porta al dominio B. Se togli il redirect dal dominio A non arriverà mai nulla al dominio B e quindi non puoi intervenire in base al dominio di provenienza. Immagina se fosse davvero possibile per esempio potrei redirezionare le richieste di qualsiasi sito su un mio sito.  :)
: Re:301 verso root: url sporchi da rimuovere
: luketto 20 Jul 2016, 14:13:27
la stringa messa da te è sbagliata:



RewriteCond %{QUERY_STRING} ^index.php?controller=stores
RewriteRule / [R=301,L]


deve diventare

RewriteCond %{QUERY_STRING} ^controller=stores$
RewriteRule ^index.php$ http://www.*************/nomepagina? [R=301,L]

: Re:301 verso root: url sporchi da rimuovere
: bellatrix 20 Jul 2016, 14:16:08
Ma certo che no.
Però, puoi manipolare chi arriva e da dove.
La domanda,.quindi, è capire se costoro li puoi mandare su una pagina che vuoi tu.
: Re:301 verso root: url sporchi da rimuovere
: tomtomeight 20 Jul 2016, 14:22:07
Puoi da .htaccess redirezionare uno per uno, a gruppi come vuoi, sull'altro dominio. Ma devi sempre agire sul dominio bsmnovi.com e lasciarlo attivo finché serve, puoi fare poco o nulla sull'altro dominio.
: Re:301 verso root: url sporchi da rimuovere
: bellatrix 20 Jul 2016, 18:17:21
la stringa messa da te è sbagliata
:
Ho provato questa:
RewriteCond %{QUERY_STRING} ^controller=stores$
RewriteRule ^index.php$ http://www.************/contatti/? [R=301,L]

Niente da fare.
Non ti preoccupare, Luketto. Gli url "farlocchi" stanno indietreggiando nelle serp. Tra un po' spariranno.
Ti chiedo solo di rimuovere quel link sopra, includendo nei tag [ code ] il codice.

Okay, Tomtom...
Grazie anche a te.