Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    146

    redirect in base alla lingua del browser + google

    Ciao a tutti...

    ho un sito in 3 lingue ed ho impostato nella index.asp questo codice

    codice:
    <%
    Dim userLocale
    userLocale = request.servervariables("HTTP_ACCEPT_LANGUAGE")
    
    Dim languages
    languages = Split(userLocale, ",", -1)
    
    Dim language
    For Each language in languages
      If InStr(language, "it") <> 0 Then          
        Response.redirect("/ita/")
        Response.End
      End If
      If InStr(language, "en") <> 0 Then 
        Response.Write("/eng/")
        Response.End
      End If
      If InStr(language, "de") <> 0 Then 
        Response.Write("/deu/")
        Response.End
      End If
    Next
    
    %>
    per reindirizzare l'utente in base alla lingua impostata sul proprio browser...

    il problema è che a google non sembra piacere manco un po'...

    dove ho sbagliato? c'è un modo per ottenere la stessa cosa in modo che piaccia a google e agli altri motori di ricerca?

    grazie per l'aiuto
    francesco

  2. #2
    Gli spider non sono dei veri e propri browser, io lascerei una lingua "di default", nel caso request.servervariables("HTTP_ACCEPT_LANGUAGE") non restituisse uno dei tre valori considerati.

    codice:
      If InStr(language, "de") <> 0 Then 
        Response.Write("/deu/")'response.write?????
        Response.End
      else
         If InStr(language, "en") <> 0 Then 
           Response.Write("/eng/")'response.write?????
           Response.End
          else 'default folder
             Response.redirect("/ita/")
             Response.End
         End If
      End If

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    146
    ok ho capito...
    ti ringrazio...

    ancora una cosa.. potrebbe essere corretto mettere:

    codice:
    Response.Status="301 Moved Permanently" 
    Response.AddHeader "Location", " /ita/"
    al posto di

    codice:
    Response.redirect("/ita/")

    grazie
    ciao
    francesco

  4. #4
    Il redirect 301 è quello che andrebbe usato sempre, in quanto trasferisce il rank da una pagina all'altra. Gli altri tipi di redirect come il meta o i redirect javascript sono da evitare assolutamente, come avrai notato...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    146
    si infatti...
    quindi vado sul sicuro così?

    codice:
    <%
    Dim userLocale
    userLocale = request.servervariables("HTTP_ACCEPT_LANGUAGE")
    
    Dim languages
    languages = Split(userLocale, ",", -1)
    
    Dim language
    For Each language in languages
      	If InStr(language, "de") <> 0 Then          
    		Response.Status="301 Moved Permanently" 
    		Response.AddHeader "Location", " /deu/"
    		Response.End
    	else
      	
    	If InStr(language, "it") <> 0 Then 
    		Response.Status="301 Moved Permanently" 
    		Response.AddHeader "Location", " /ita/"
    		Response.End
      	
    	else
        
    	Response.Status="301 Moved Permanently" 
    	Response.AddHeader "Location", " /eng/"
        Response.End
    	
     	End If
    	
    Next
    
    %>
    ancora grazie
    ciao
    francesco

  6. #6
    Il vecchio redirect è ormai stato recepito...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.