Página 1 de 1

Cómo redireccionar con htaccess?

Publicado: Mar, 10 Abr 2012, 09:19
por KZKG^Gaara
Buenas,
Tengo el siguiente dilema:

Necesito redireccionar a todos los que entren a X carpeta que tengo en mi servidor hacia otra URL, pero redireccionar solo los que en su UserAgent NO tengan declarado "vip" (sin las comillas).
Esto no es complejo, pues con estas simples líneas basta para hacerlo:

Código: Seleccionar todo

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^.*vip.*$ [NC]
RewriteRule .* Http://otrositio.net/
</IfModule>
De esta forma, todos los que NO tengan en su UserAgent en algún lugar de la cadena "vip" serán redireccionados hacia otro sitio, esto funciona sin problemas mediante HTTP (puerto 80), mi problema está en el HTTPS (puerto 443).

Aparentemente, si alguien usa para acceder https:// _____ NO le redirecciona, como si esta regla no existiera.

Ese es mi problema.
Agradecería cualquier ayuda que puedan brindarme.

Estoy usando Debian Squeeze en el servidor, Apache de web server.
Estas líneas las estoy poniendo en el .htaccess en el / de la carpeta hosteada, y repito, si se accede mediante http:// funciona todo, mediante https:// es que no funciona.

Saludos y gracias por adelantado.

Re: Cómo redireccionar con htaccess?

Publicado: Mar, 10 Abr 2012, 14:21
por hugo
Prueba con esto:

Código: Seleccionar todo

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !(^.*vip.*)$ [NC]
RewriteCond %{HTTPS} =on
RewriteRule .* https://otrositio.net/ [R,L]
RewriteCond %{HTTPS} =off
RewriteRule .* http://otrositio.net/ [R,L]
</IfModule>

Re: Cómo redireccionar con htaccess?

Publicado: Mar, 10 Abr 2012, 15:29
por KZKG^Gaara
En realidad esa combinación ya la había probado :)
Especificando si era HTTPS o no (on|off), puerto 443 y hasta etc... al final, resolví el problema:
Faltaba declarar el directory y las opciones en el default-ssl.
En este archivo puse:

Código: Seleccionar todo

<Directory /var/www/whatever/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>
Y en el .htaccess lo siguiente:

Código: Seleccionar todo

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^.*vip.*$ [NC]
RewriteCond %{HTTPS} =on
RewriteRule .* Http://otrositio.net/
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^.*vip.*$ [NC]
RewriteRule .* Http://otrositio.net/
</IfModule>
El primer bloque para redireccionar cuando sea HTTPS y el segundo para cuando sea HTTP.

Re: Cómo redireccionar con htaccess?

Publicado: Mar, 10 Abr 2012, 15:52
por hugo
Me alegra que resolvieras. Por cierto, si yo fuera tu, deshabilitaría los índices en las opciones del directorio (a menos que realmente los necesites, que no suele ser habitual con CMS).

Re: Cómo redireccionar con htaccess?

Publicado: Mar, 10 Abr 2012, 17:35
por KZKG^Gaara
jeje en realidad esto no es un CMS jeje ... TopSecret jeje...