2011-10-11 2 views
24

C'è un modo per inserire una RewriteRule nel file htaccess per reindirizzare a una pagina 404 se un determinato percorso di cartella/url è stato digitato o raggiunto?.htaccess reindirizza su 404 pagina RewriteRule

Ad esempio, se desidero che tutti gli utenti vengano reindirizzati a una pagina 404 se ottengono: www.mydomain.com/abc o www.mydomain.com/abc/ o qualunque cosa venga dopo "abc", anche se quella cartella esiste davvero, non voglio che gli utenti possano raggiungerla. Se lo raggiungono, voglio che vedano la pagina di errore 404. * Nota. Non sto cercando di configurare una pagina di errore 404 personalizzata, sto cercando un modo per reindirizzare alla pagina 404 predefinita.

Come posso farlo? È possibile?

RewriteRule ^abc/(*)?$ [R=404,L] 

E come posso fare la stessa cosa in php, reindirizzare a una pagina di errore 404? Ancora una volta non sto parlando di impostare una pagina 404 personalizzata, sto parlando della pagina 404 predefinita, per semplicemente reindirizzare un utente alla pagina di errore 404 usando php.

+0

non è possibile rimuovere o rinominare la cartella? –

+1

Sì, posso, ma non voglio. È per un problema di sicurezza. – user977191

+0

Hai una pagina personalizzata non trovata? –

risposta

28

Invece di usare mod_rewrite, si può fare questo con una direttiva RedirectMatch:

RedirectMatch 404 ^/abc/.*$ 
+0

RedirectMatch 404 "/ abc *" ha fatto il lavoro. Grazie per il tuo suggerimento – user977191

4

Ho fatto questo sul mio sito web:

RewriteRule ^404/?$ 404.php 
ErrorDocument 404 http://www.example.com/404/ 

E sulla radice del mio sito ho messo una 404.php pagina per personalizzare quella pagina.