.htaccess im Unterverzeichnis 'überschreiben' übergeordneten htaccess
gesucht, für 2 Tage und kann nicht wirklich die richtige Lösung, wegen meiner mangelnden Verständnis von mod_rewrite und Zeit an diesem Projekt, so hoffe jemand kann helfen.
Das Ziel
Umschreiben, die alle Anforderungen an die Wurzel index.php wenn der client nicht das richtige cookie.
Wenn der client den richtigen cookie zu erlauben Sie zu durchsuchen, wie Sie es wünschen.
Das problem
Die htaccess in mein Unterverzeichnis ist unter precendence über mein root-htaccess, also Anfragen wie www.mydomain.com/subdir/index.php arn nicht immer umgeleitet.
Mein root .htaccess
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*pass.*$
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ http://www.mydomain.com/index.php?url=$0 [NC]
Meine Unterverzeichnis, htaccess
RewriteEngine On
RewriteBase /
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
Zusätzliche info
Ideal ich versuche zu schaffen, einen Passwort geschützten Bereich, so dass alle Anfragen weitergeleitet index.php wo ein Passwort eingegeben werden kann, und überprüft, wenn ein cookie erstellt wird, die eine freie Browsen von Inhalten und Unterverzeichnissen. Also, wenn es gibt ein besserer Weg, dies zu erreichen, dann lass es mich wissen, und ich havn ' T gegangen .htpasswd da ich benutzerdefinierte login, Fehler-und splash-Seiten.
Auch, die subdir .htaccess ist eine ExpressionEngine-URL-handler.
Dank.
- Unabhängig davon, wie Sie dieses Problem beheben, indem Sie überprüfen, ob das Vorhandensein eines Cookies ist KEINE gute Sicherheit. Es ist trivial zu fälschen, und da bist du nicht der Validierung der Daten in dem cookie wird nur die überprüfung für seine Anwesenheit), Ihre "Sicherheits" - system ist trivial zu umgehen sein.
- nur ein Vorschlag, aber haben Sie sich schon Gedanken über die Implementierung von HTTP-Authentifizierung, wenn Ihr nur auf der Suche, um Zugriff auf Verzeichnisse: uk.php.net/manual/en/features.http-auth.php
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ermöglichen die Ausführung der rewrite-Regeln von den Eltern .htaccess (htaccess aus dem übergeordneten Ordner), müssen Sie das ausdrücklich erlauben (Apache Behandlung von rewrite-Regeln in der aktuellen .htaccess als die einzige, die ausgeführt werden müssen, solange umgeschrieben URL bleibt in der gleichen Unterordner).
Müssen Sie diese Zeile in Ihre .htaccess Unterordner:
Apache-manual: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions
RewriteOptions InheritDown
im übergeordneten htaccess-wenn Sie möchten, dass alle Kind htaccess zu Erben Sie.