2010-12-02 6 views
1

Wie kann ich Benutzer (mit mod_rewrite) auf 404-Seite umleiten, wenn sie eine vorhandene Datei oder einen vorhandenen Ordner eingeben?Wie kann ich Benutzer (mit mod_rewrite) auf 404-Seite umleiten, wenn sie eine vorhandene Datei oder einen vorhandenen Ordner eingeben?

Beispiel:

Ich habe 2 Dateien auf meiner Website: www.example.com/index.php - Die Homepage www.example.com/about.php - Auf der Seite

I Ich möchte nicht auf index.php und about.php zugreifen können. Ich will es nur so: www.example.com/ www.example.com/about

Und ich möchte so für jede Datei arbeiten, die ich erstelle.

+0

möglich duplicate of [Wie ignoriert man den Zugriff auf PHP-Dateien mit mod_rewrite?] (Http://stackoverflow.com/questions/4300800/how-to-ignore-access-to-php-files-with-mod-rewrite) – nico

Antwort

0

Umleiten Sie einfach die Seiten, die Sie möchten, eine PHP-Seite, die eine 404-Header sendet.

Zum Beispiel:

RewriteRule pageToRedirect.htm errorPage.php [L] 

errorPage.php haben, was Sie in es mögen, und geben Sie:

header("Status: 404 Not Found"); 
0
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule .* 404.html [R=404,L] 

Damit werden alle Anforderungen an einen Datei oder das Verzeichnis neu zu schreiben, die vorhanden ist 404.html mit einem 404-Statuscode.

+0

Dies leitet tatsächlich alle gefundenen Dateien ** zum Dokument '404.html' um. Es sollte '! -d' ohne' [OR] 'und'! -f' sein. –

+0

@goreSplatter ist nicht genau das, wonach OP fragt? Oder irre ich mich? – jensgram

+0

@goreSplatter, denke das ist, was das OP will – SW4

0

Ich antwortete die gleiche Frage von Ihnen neulich; Sie sollten versuchen, es erneut zu lesen, da es einfacher, wartbarer und sicherer als mod_rewrite ist. Du scheinst nicht zu verstehen, wie du die falsche Antwort richtig markiert hast.

Hier ist a link to your last question und meine Antwort. Schau es dir noch einmal an und frage, ob du Klarheit brauchst.

Verwandte Themen