Ciao,
alvaropetro ha scritto:
segno che IIS non ha problemi con quella porta e il sito "girerebbe".
Sì, penso che il sito stia funzionando normalmente. Il problema, forse, è che IIS non sa di dover passare le richieste come /Prodotto ad ASP.NET.
Dalla console di IIS, ti sarà capitato di vedere l'icona "
Mapping gestori". Dentro ci trovi un elenco di nomi, ciascuno assegnato ad un'estensione, che IIS usa per capire a chi deve far elaborare ogni richiesta in ingresso.
Ad esempio, per l'estensione .aspx, trovi un "PageHandlerFactory" a cui IIS passerà il controllo quando arriva una richiesta ad una pagina.aspx.
Nel tuo caso, però, le richieste non hanno estensione (es. /Prodotto) e, dato che ottieni un errore 404, penso che IIS non sappia che anche quella è una richiesta che va passata al runtime di ASP.NET.
Entra in "Mapping gestori" e cerca il cosiddetto "ExtensionlessUrlHandler". Se manca, ecco scoperto il problema. Aggiungilo nel tuo web.config, dal nodo system.webServer/handlers.
<system.webServer>
<handlers>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
ciao,
Moreno
Modificato da BrightSoul il 06 gennaio 2015 12.41 -