Vai al contenuto

Soluzione ai Problemi di IIS URL Rewrite e Errore HTTP 404.4

Affronta e risolvi il problema di IIS URL Rewrite che causa errori 404.4 con queste semplici istruzioni.

Può capitare di trovarsi di fronte ad inutili problemi quando si cerca di utilizzare il modulo IIS URL Rewrite per reindirizzare il traffico tra diversi siti. Come molti di voi sapranno, ciò può portare al fastidioso errore HTTP 404.4 – Not Found. Questo specifico codice di stato indica che non esiste un gestore configurato per l’estensione del file richiesta nella URL. Risolvere questo tipo di errore richiede alcuni passaggi che sono importanti da tenere in considerazione.

Immaginate di avere due siti web: Sito1 configurato sulla porta 81 e Sito2 sulla porta 82. Se la vostra esigenza è quella di redirigere tutto il traffico da Sito1 a Sito2, la regola di riscrittura che avreste dovuto impostare nel vostro web.config è la seguente:

<system.webServer> <rewrite> <rules> <rule name="RewriteToPort81" stopProcessing="true"> <match url="^.*$" /> <action type="Rewrite" url="http://localhost:82/{R:0}" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer>

Se la nuovamente configurata regola non funziona, iniziate a controllare se il modulo URL Rewrite corretto è installato nel vostro IIS. Potete verificarlo aprendo IIS Manager e selezionando la sezione Modules. Se non lo avete, potete scaricare l’ultima versione del modulo URL Rewrite dal sito ufficiale di Microsoft.

Dopo aver confermato la presenza del modulo, è necessario esaminare i registri di Failed Request Tracing per verificare se la regola di riscrittura è stata effettivamente invocata e se la URL è stata aggiornata correttamente. Un’analisi dei registri vi dirà se la regola di riscrittura è stata applicata e se ha generato un HttpStatus="404" con un HttpSubStatus="4".

Se le verifiche hanno confermato la presenza del problema, recatevi nel IIS Manager, accedete al modulo Application Request Routing Cache e aprite le Server Proxy Settings dal riquadro delle Azioni sulla destra. Qui dovrebbero trovarsi delle opzioni per abilitare il proxy: assicuratevi che l’opzione Enable proxy sia selezionata e cliccate su apply.

Un passaggio finale importante è riavviare il servizio IIS, una volta completati i cambiamenti. Questo dovrebbe risolvere l’errore URL Rewrite, permettendo così che la riscrittura funzioni come previsto. Se volete approfondire maggiormente le funzionalità del modulo URL Rewrite, potete consultare l’articolo approfondito su Using the URL Rewrite Module | Microsoft Learn.