estado buscando durante 2 días y no puedo encontrar la solución correcta debido a mi falta de comprensión de mod_rewrite y las limitaciones de tiempo en este proyecto, por lo que espero que alguien pueda ayudar..htaccess en subdirectorio 'anulando' padre htaccess
El objetivo
Para volver a escribir todas las solicitudes al index.php raíz si el cliente no tiene la cookie correcta. Si el cliente tiene la cookie correcta, permite que naveguen como lo deseen.
El problema
El .htaccess en mi subdirectorio se tiene preferencia por encima de mi .htaccess de la raíz, así como las solicitudes www.mydomain.com/subdir/index.php ar no siendo redirigido.
Mi .htaccess de la raíz
Options FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_COOKIE} !^.*pass.*$
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ http://www.mydomain.com/index.php?url=$0 [NC]
Mi subdirectorio .htaccess
RewriteEngine On
RewriteBase/
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
Otros detalles
Lo ideal sería que estoy tratando de crear un área protegida por contraseña, por lo todas las solicitudes se enrutan a index.php donde se puede ingresar una contraseña y cuando se verifica se crea una cookie, lo que permite la exploración gratuita de los contenidos y subdirectorios. Entonces, si hay una mejor manera de lograr esto, por favor hágamelo saber, y no me he ido para .htpasswd ya que necesito inicio de sesión personalizado, error y páginas de presentación.
Además, el subdirectorio .htaccess es un controlador de URL ExpressionEngine.
Gracias.
Independientemente de cómo solucionar este problema, la comprobación de la presencia de una cookie no es bueno seguridad. Es trivial fingir uno, y como no está validando los datos en la cookie, simplemente verificando su presencia), su sistema de "seguridad" es trivial para eludir. –
@Abe solo una sugerencia, pero ¿ha pensado en implementar la autenticación HTTP, si solo desea permitir el acceso a los directores: http://uk.php.net/manual/en/features.http-auth.php –