Zur Navigation

.php Endung verbieten [2]

11 Jörg Kruse

Wenn neben http://example.com/test/admin/index.php auch http://example.com/test/XYZ/index.php als URL normal aufrufbar sein soll, kannst du die Ausnahmebedingung folgendermaßen erweitern:

RewriteCond %{THE_REQUEST} !\ /test/(admin|XYZ)/

01.11.2019 17:24

12 Spawn (Gast)

Hallo Jörg,

vielen Dank für deine schnellen Feedbacks.

Sorry, da habe ich mich etwas falsch ausgedrückt. Wie ist es möglich den Ordner Namen "admin" in XYZ zu verschleichern, aber er trotzdem noch über die URL aufgerufen werden kann, also sprich auf dem FTP bleibt der Ordner noch als admin bestehen.

Sprich ich gebe in die URL
http://www.meinSeite.de/test/XYZ ein und trotzdem wird aber der Order admin abgerufen. Soll als Schutz dienen, da Admin ja bekanntlich zu einfach ist. Leider ist es jetzt im Nachgang zu viel Arbeit alles umzustellen, daher dachte ich da eher an .htaccess.

Viele Grüße

01.11.2019 17:30

13 Jörg Kruse

Sprich ich gebe in die URL
http://www.meinSeite.de/test/XYZ ein und trotzdem wird aber der Order admin abgerufen

RewriteRule ^/?XYZ$ admin [L]

Und wenn hinten am Pfad noch was dranhängt (wie z.B. "/index.php"), was mit übernommen werden soll:

RewriteRule ^/?XYZ(/.*)?$ admin$1 [L]

01.11.2019 19:39

14 Spawn (Gast)

Hallo Jörg,

vielen Dank.

Wenn ich
http://www.meineSeite.de/test/admin/index.php eingebe, dann ist der Admin-Bereich weiterhiin über diese UR erreichbar. In dem Fall sollte diese URL auf die 404 gehen.

Wenn ich
http://www.meineSeite.de/test/XYZ/index.php eingebe, dann erhalte ich ein 404.

Hier mal der komplette Code, ist das noch was falsch?

<Directory /home/www/public_html/test/>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

RewriteRule ^/?XYZ(/.*)?$ admin$1 [L]
RewriteCond %{THE_REQUEST} !\ /test/admin/
RewriteCond %{THE_REQUEST} \.php
RewriteRule \.php$ - [G]

ErrorDocument 404 http://www.meineSeite.de/test/404
ErrorDocument 410 http://www.meineSeite.de/test/404
</Directory>

02.11.2019 13:01

15 Jörg Kruse

Diese Ausnahmebedingung sorgt dafür, dass .php Dateien unter dem genannten URL-Pfad nicht mit dem Status 410 beantwortet werden:

RewriteCond %{THE_REQUEST} !\ /test/admin/

Wenn statt example.com/test/admin/index.php nun example.com/test/XYZ/index.php aufgerufen können werden soll, musst du den Pfad entsprechend anpassen.

02.11.2019 14:18

16 Spawn (Gast)

Hallo Jörg,

Facepalm, da hät ich wirklich selbst drauf kommen müssen, sry. Jetzt funzt es, danke Dir nochmal für den Denkanstoss.

Vielen Dank für deine Hilfe.

Viele Grüße

03.11.2019 00:04

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]