887 messaggi dal 21 marzo 2008
Salve,
ho sviluppato un sito multilingua. All' apertura del sito www.nomesito.com vorrei impostare la lingua di default con l aggiunta di en o it all url, www.nomesito.com/en.
Come posso fare? è corretto fare così:

protected void Page_Load(object sender, EventArgs e)
{
if (Utility.getPagina() == "default.aspx")
{
Response.Redirect("http://www.nomesito.com/en");
}
}
avete altre soluzioni?
dal routing si può fare?

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
puoi configurare una regola di URL rewriting nel web.config. Quando il percorso virtuale dell'url è "vuoto", allora reindirizza verso /en.
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Redirect to default language">
          <match url="^$" />
          <action type="Redirect" url="/en" appendQueryString="true"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>



dal routing si può fare?

La soluzione dell'URL Rewrite secondo me è la più corretta perché ti permette di effettuare la ridirezione che hai chiesto. Rispetto al routing, è più efficiente perché è IIS stesso ad occuparsene, prima che la richiesta venga gestita dal runtime di ASP.NET.
Ovviamente lo dico a livello di principio, non è che usando il routing di ASP.NET avresti un qualsiasi calo prestazionale apprezzabile.

Usando il routing non avresti modo di effettuare quella ridirezione, ma solo mappare il percorso / ad una pagina aspx (quindi non verrebbe effettuata alcuna ridirezione a meno che poi non la faccia tu stesso con il codice che hai postato).

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.