Domanda

Mi chiedo se è possibile utilizzare mod rewrite insieme con la decelerazione ErrorDocument per personalizzare le pagine di errore a seconda di quale tipo di file è richiesto.

Ad esempio viene richiesto un file html o php inesistente Apache darà bella pagina HTML personalizzato.

Ma se un'immagine inesistente, js, css, ecc ... viene richiesto il file quindi Apache servirà un file html base con solo un link su di esso.

Un buon esempio di questo comportamento è Facebook. Prova richiesta di un file JavaScript fasullo, si riceverà una pagina diversa quindi se si dovesse richiedere un file php inesistente.

È stato utile?

Soluzione

finito per usare una combinazione di entrambi ErrorDocument e RewriteRules questo funziona perché la pagina php lancia un 404 Not Found per me.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*(?<!.js|.css|.ico|.txt|.bmp|.gif|.png|.jpeg|.jpg)$ /error/404.php [L]

ErrorDocument 404 /404_basic.html

Altri suggerimenti

Usa RewriteCond !-f insieme ad una riscrittura alla pagina di destinazione desiderato e un flag di R=404.

È possibile utilizzare uno script PHP per la tua pagina 404:

ErrorDocument 404 /error404.php

Non è possibile analizzare il sentiero URL con PHP (vedi $_SERVER['REQUEST_URI'] ) e determinare quale tipo di risorsa è stata richiesta o è previsto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top