Zur Navigation

Verzeichnis vor direktem Aufruf schützen .htaccess

1 Anonym (Gast)

Hallo,

ich habe im Stammverzeichnis eine normale Homepage und eine .htaccess liegen.
In dieser .htaccess rewrite ich unter bestimmten Bedingungen auf den Unterordner /special/. Darin befindet sich eine andere Version der Seite(also auch eine index.html). Jedoch möchte ich beim direkten Aufruf des Unterordners (also jemand tippt http://domain.tld/special/ im Browser ein) einen 403 Forbidden oder noch besser 404 Not Found HTTP-Code zurücksenden. Nur wenn von der .htaccess im Stammverzeichnis "rewritten" wird soll die Seite angezeigt werden.

Hoffe ihr könnt mir helfen :))

17.10.2011 20:08

2 Jörg Kruse

Ich würde hier auf die Variable THE_REQUEST testen, z.B. mit einem [G] für ein 410 "Gone" (htaccess im Hauptverzeichnis):

RewriteCond %{THE_REQUEST} \ /special/
RewriteRule ^special/ - [G]

... für ein 403 "Forbidden" entsprechend ein [F]

17.10.2011 20:19 | geändert: 17.10.2011 20:20

3 Anonym (Gast)

Das funktioniert perfekt! :)
Problematisch ist nur, sobald ich in der .htaccess im Unterverzeichnis ein
RewriteEngine On
setzte wird die Regel wirkungslos.
Jedoch benötige ich auch im Unterverzeichnis RewriteRules sodass ich den RewriteEngine brauche.

Wie schaffe ich es nun, dass diese Regel ihre Gültigkeit behält?

17.10.2011 20:49

4 Jörg Kruse

Dann probier mal stattdessen diese Rule in der htaccess Datei des Unterverzeichnisses:

RewriteCond %{THE_REQUEST} \ /special/
RewriteRule .* - [G]

17.10.2011 20:53

5 Anonym (Gast)

VIELEN DANK, JÖRG :)))

So funktionierts!! :)

17.10.2011 21:07

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]