354 messaggi dal 13 marzo 2013
Ciao a tutti
è la prima volta che mi capita questa situazione: sto sistemando un sito web hostato su un hosting windows ma fatto in php
siccome mancava la pagina per gli errori 404 ho creato la seguente regola nel web.config

<customErrors mode="RemoteOnly" defaultRedirect="errori.aspx">
   <error statusCode="404" redirect="404.html" />
</customErrors>


il problema è che sembra funzionare solo con le pagine .aspx.
Se io scrivo
sito.it/pippo.aspx mi manda alla pagina 404.html (a cui ho messo il link alla index.php)
ma se scrivo
sito.it/pippo.php il browser mi restituisce "Impossibile trovare la pagina"
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

PR17 ha scritto:

se scrivo
sito.it/pippo.php il browser mi restituisce "Impossibile trovare la pagina"

Già, probabilmente IIS non sta passando la richiesta al runtime di ASP.NET.

Che versione di IIS hai su quel server? Puoi chiederlo all'hosting provider oppure puoi scoprirlo da te se esamini le intestazioni della risposta che quel server ti invia ad una qualsiasi richiesta HTTP.

Se si tratta almeno di IIS 7, puoi personalizzare la pagina 404 in questo modo:
http://www.iis.net/configreference/system.webserver/httperrors/error

Guarda il paragrafo "Configuration sample", in particolare. Ti è consentito indicare un file statico (es. .html) che sostituirà la pagina di errore predefinita.

ciao,
Moreno

Enjoy learning and just keep making
354 messaggi dal 13 marzo 2013
Ciao
scusa il ritardo nella risposta..dovrebbe essere IIS 7 ma non sono sicuro, ho mandato una mail all'hosting per averne la certezza.
Per esaminare le intestazioni della risposta come faccio?(Così magari anticipo i tempi)
Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
PR17 ha scritto:

Per esaminare le intestazioni della risposta come faccio?

Apri gli strumenti di sviluppo del browser (tasto F12) e vai nella scheda "Rete" o "Network". Aggiorna la pagina e vedrai passare tutte le richieste che il browser invia al server. Selezionane una qualsiasi, magari una rivolta ad una pagina aspx o html, e poi guarda le "intestazioni di risposta". Tra di esse, troverai l'intestazione "Server". Ad esempio:

Cache-Control:private
Content-Encoding:gzip
Content-Length:582
Content-Type:text/html; charset=iso-8859-15
Date:Fri, 31 Oct 2014 13:10:54 GMT
Server:Microsoft-IIS/7.0
Vary:Accept-Encoding
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET


ciao,
Moreno
Modificato da BrightSoul il 31 ottobre 2014 14.12 -

Enjoy learning and just keep making
354 messaggi dal 13 marzo 2013
Guardato.
il server è IIS 6, quindi non credo di poter utilizzare la strada che mi hai indicato. come posso procedere?
Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
con IIS6 devi accedere al server e cambiare le pagine 404 dalla sua interfaccia grafica di gestione. C'è un caso simile al tuo qui:
http://stackoverflow.com/questions/9841908/how-can-i-make-my-404-php-error-page-appear-in-iis6

Tuttavia, se sei in hosting condiviso, non ti lasceranno personalizzare quelle pagine. Chiedi di essere spostato su un server con IIS7 o superiore.

ciao,
Moreno

Enjoy learning and just keep making
354 messaggi dal 13 marzo 2013
Si esatto, sono in un hosting condiviso, quindi purtroppo ho poco da fare.
Aprirò un ticket al fornitore in modo tale da essere spostato oppure da poter risolvere il problema.
354 messaggi dal 13 marzo 2013
Ecco la risposta del fornitore

sul server che ospita il sito è installato il componente ISAPI_Rewrite.
Potete quindi ottenere lo stesso risultato (valido anche per le pagine PHP) creando e pubblicando un file .htaccess con le opportune direttive al suo interno.

Mi sa che creerò quel file..

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.