• User Attivo

    Redirect 301 su server Windows e IIS manager

    Buonasera.
    Devo fare il redirect per ogni singola pagina di sito statico composto interamente da pagine html verso la nuova versione, che ha la stessa struttura ma è stata realizzata utilizzando un framework, presso un nuovo dominio.
    Quindi avrò vecchiosito.ext/pagina1.html -> nuovosito.ext/pagina1/.
    Il problema (per me) è che il vecchio sito si trovi su un server Windows (scelta bizzarra del precedente sviluppatore) ed io non ho idea di come realizzare i redirect 301.
    Dalle giude che ho trovato su in rete sembrerebbe possibile utilizzare l'htaccess, con il quale ho un minimo di familiarità, ma dai test che ho eseguito non è così semplice.
    Più fonti dichiarano che si debba utilizzare l'ISS manager, strumento che ignoro totalmente e che dovrebbe consentire di impostare un redirect 301 sia per singola pagina che per l'intero sito.
    Anche su questo IIS manager però non riesco a trovare molte informazioni.
    Qualcuno mi potrebbe dare un aiuto su come risolvere questo mio problema, sia spiegandomi cosa sia l'IIS manager sia dicendomi come poter creare questo benedetto redirect 301 su server Windows?

    Grazie.


    maltra 1 Risposta
  • User

    @eugene Internet Information Services = IIS
    Se il tuo sito è ospitato su piattaforma Windows server puoi configurare il redirect dal server se ne hai accesso andando ad agire su IIS dipende dal tuo linguaggio di programmazione:
    Ad esempio c#
    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location","http://www.tuosito.it/pagina.html");
    }

    Oppure abiliti URL Rewrite di IIS e configuri i redirect in web.config
    Qui una guida: https://blog.elmah.io/web-config-redirects-with-rewrite-rules-https-www-and-more/


    E 1 Risposta
  • User Attivo

    Grazie @maltra, facendo ulteriori ricerche ho trovato un modello di xml da utilizzare per il documento web.config:

    <?xml version="1.0"?>
    <configuration>
    <location path="pagina-1.html">
    <system.webServer>
    <httpRedirect enabled="true" destination="https://www.nuovosito.ext/pagina-1" httpResponseStatus="Permanent" />
    </system.webServer>
    </location>
    <location path="pagina-2.html">
    <system.webServer>
    <httpRedirect enabled="true" destination="https://www.nuovosito.ext/pagina-2" httpResponseStatus="Permanent" />
    </system.webServer>
    </location>
    </configuration>

    Ho già verificato e funziona, adesso devo solo inserire il redirect per ogni pagina.
    L'unica cosa che vorrei confermata è se httpResponseStatus="Permanent" ha lo stesso valore del redirect 301.
    Chiedo scusa per le domande stupide ma non mi sono mai occupato di server Windows in precedenza.

    Grazie e buona serata.