Zur Navigation

Mod Rewrite - Eingabe von *.php verhindern

1 Achim (Gast)

Hallo, ich habe da mal eine Frage...
Auf meiner Seite werden alle PHP-Dateien auf HTML-Dateien mit folgender Rule umgeschrieben:

RewriteRule ^(.*).html$   $1.php

dies funktioniert auch ohne Probleme, jedoch können die PHP-Dateien auch noch aufgerufen werden.

Beispiel: Die Datei Geschichte kann mit geschichte.php und mit geschichte.html aufgerufen werden.

Ich hätte aber gerne das dies nur mit *.html aufzurufen ist und bei Eingabe von *.php auf die 404.html weitegeleitet wird.
Geht so etwas?

MfG
Achim S.

12.10.2011 10:47

2 Jörg Kruse

Mit einem [G] Flag erzeugst du einen Status Code 410 "Gone" - der hier sogar passender wäre als ein 404er Fehler, der von den Bots als temporär verstanden werden könnte

RewriteCond %{THE_REQUEST} \.php
RewriteRule \.php$ - [G,L]

... oder vielleicht wäre es noch besser, du leitest mit einem Status Code 301 weiter auf die entsprechende .html Seite:

RewriteCond %{THE_REQUEST} \.php
RewriteRule ^(.*)\.php$ http://example.com/$1.html [R=301,L]

Edit: Fehler im Code korrigiert

12.10.2011 11:14 | geändert: 12.10.2011 11:21

3 Achim (Gast)

Yabba Dabba Doo!

Du glaubst gar nicht wie lange ich das schon als offenen Punkt hatte.
Alle meine Versuche waren bisher erfolglos.
Jetzt geht es endlich.

Vielen herzlichen Dank

MfG
Achim S.

12.10.2011 13:18

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]