.htaccess dans le répertoire 'primordial' parent htaccess
été la recherche de 2 jours et ne pouvez pas tout à fait obtenir la bonne solution en raison de mon manque de compréhension de mod_rewrite et des contraintes de temps sur ce projet, donc en espérant que quelqu'un peut aider.
Le but
À réécrire toutes les demandes à la racine index.php si le client n'a pas le bon cookie.
Si le client a le bon cookie leur permettre de naviguer comme ils le souhaitent.
Le problème
Le htaccess dans mon sous-répertoire est de prendre precendence sur mon htaccess de la racine, de sorte que les demandes de www.mydomain.com/subdir/index.php arn pas redirigé.
Ma racine .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]
Mon subdir htaccess
RewriteEngine On
RewriteBase /
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
Informations supplémentaires
Idéalement, je suis en train de créer un mot de passe de l'aire protégée, de sorte que toutes les demandes sont acheminées à index.php lorsqu'un mot de passe peut être saisi et une fois vérifiée, un cookie est créé, permettant ainsi la libre navigation de contenu et les sous-répertoires. Donc, si il ya une meilleure façon d'accomplir cela, alors s'il vous plaît laissez-moi savoir, et je havn't disparu .htpasswd car j'ai besoin de connexion personnalisée, d'erreur et de pages d'accueil.
Aussi, le sous répertoire .htaccess est un ExpressionEngine gestionnaire d'URL.
Grâce.
juste une suggestion, mais avez-vous pensé à la mise en œuvre de l'authentification HTTP, si votre seule recherche à permettre l'accès aux répertoires: uk.php.net/manual/en/features.http-auth.php
OriginalL'auteur Abe | 2011-09-07
Vous devez vous connecter pour publier un commentaire.
Pour permettre l'exécution de règles de réécriture de parent .htaccess (htaccess du dossier parent), vous devez autoriser explicitement (Apache va traiter des règles de réécriture dans le courant .htaccess comme la seule qui doivent être exécutées, tant que l'URL réécrite reste dans le même sous-dossier).
Vous devez ajouter cette ligne à votre .htaccess dans le sous-dossier:
Manuel Apache: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions
RewriteOptions InheritDown
parent htaccess si vous voulez que tous les enfants htaccess pour hériter.OriginalL'auteur LazyOne