Foros del Web » Administración de Sistemas » Apache »

Redirigir al index.php?pagina=inicio

Estas en el tema de Redirigir al index.php?pagina=inicio en el foro de Apache en Foros del Web. Buenas, Estoy intentando redirigir que cuando entres en la raiz del dominio (home) http://www.webmodular.neodani.com/ Me muestre la página inicio, para ello utilizo una estructura modular ...
  #1 (permalink)  
Antiguo 21/06/2010, 12:16
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Redirigir al index.php?pagina=inicio

Buenas,

Estoy intentando redirigir que cuando entres en la raiz del dominio (home)
http://www.webmodular.neodani.com/

Me muestre la página inicio, para ello utilizo una estructura modular que para mostrar la página inicio debería acceder de la siguiente forma
http://www.webmodular.neodani.com/in...?pagina=inicio

Como puedo hacer para que haga eso automaticamente cada vez que se acceda a la home?

He intentado de varias formas sin éxito

Código Apache:
Ver original
  1. RewriteEngine on
  2. RewriteBase /
  3.  
  4. # WWW al dominio
  5.     RewriteCond %{HTTP_HOST} !^www\.webmodular.neodani\.com$
  6.     RewriteRule (.*) http://www.webmodular.neodani.com/$1 [R=301,L]
  7.  
  8. # Mostrar la pagina inicio
  9.     RewriteCond %{REQUEST_FILENAME} !-f
  10.     RewriteCond %{REQUEST_FILENAME} !-d
  11.     RewriteRule ^$ index.php?pagina=inicio [L]

Podéis echarme una mano?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 21/06/2010, 14:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Redirigir al index.php?pagina=inicio

Si lo que deseas es enviar a la página de inicio siempre y cuando no exista lo que está pidiendo, puedes hacerlo de esta forma http://www.forosdelweb.com/3419293-post3.html
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/06/2010, 14:42
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Redirigir al index.php?pagina=inicio

Cita:
Iniciado por abimaelrc Ver Mensaje
Si lo que deseas es enviar a la página de inicio siempre y cuando no exista lo que está pidiendo, puedes hacerlo de esta forma http://www.forosdelweb.com/3419293-post3.html
Al contrario abimaelrc, me interesa que si se accede a la raiz de la web (dominio.com) vaya a parar a la home aquí
http://www.webmodular.neodani.com/in...?pagina=inicio

Y si no existe la sección vaya a la pagina 404 ahorrando así carga al server (ya que no tiene que cargar ninguna sección)

Sabes como puedo hacerlo?
  #4 (permalink)  
Antiguo 21/06/2010, 14:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Redirigir al index.php?pagina=inicio

Usa QUERY_STRING para detectar el tipo de query que ha indicado y así lo redirecciones. Te recomiendo que busques información en internet sobre RewriteCond QUERY_STRING
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 21/06/2010, 15:21
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Redirigir al index.php?pagina=inicio

Cita:
Iniciado por abimaelrc Ver Mensaje
Usa QUERY_STRING para detectar el tipo de query que ha indicado y así lo redirecciones. Te recomiendo que busques información en internet sobre RewriteCond QUERY_STRING
Muchas gracias por el comentario

Lo conseguí de la siguiente manera:

Código Apache:
Ver original
  1. RewriteEngine on
  2. RewriteBase /
  3.  
  4. # WWW al dominio
  5.     RewriteCond %{HTTP_HOST} !^www\.webmodular.neodani\.com$
  6.     RewriteRule (.*) http://www.webmodular.neodani.com/$1 [R=301,L]
  7.  
  8. # Mostrar la pagina de inicio
  9.     RewriteCond %{QUERY_STRING} ^$
  10.     RewriteRule ^$ index.php?pagina=inicio [L]
  11.  
  12. # Cargar paginas de primer nivel
  13.     RewriteCond %{SCRIPT_FILENAME} !-f
  14.     RewriteCond %{SCRIPT_FILENAME} !-d
  15.     RewriteRule (.*) index.php?pagina=$1 [QSA,L]

Qué tal lo ves?
http://www.webmodular.neodani.com
  #6 (permalink)  
Antiguo 21/06/2010, 15:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Redirigir al index.php?pagina=inicio

Lo primero es que en el RewriteCond debes escapar todos los puntos cuando es parte de la dirección, te falta un punto por escapar. Ahora nunca había visto un ejemplo que hiciera solamente ^$, siempre lo he visto con algún caracter y también el RewriteRule debes indicar un caracter. En todo caso puedes indicar la parte que te redirige al inicio al final y si no se cumple ninguno de los anteriores, entonces se ejecuta el de inicio.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 21/06/2010, 16:16
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Redirigir al index.php?pagina=inicio

Cita:
Iniciado por abimaelrc Ver Mensaje
Lo primero es que en el RewriteCond debes escapar todos los puntos cuando es parte de la dirección, te falta un punto por escapar.
Creo que te refieres aquí
RewriteCond %{HTTP_HOST} !^www\.webmodular.neodani\.com$
por
RewriteCond %{HTTP_HOST} !^www\.webmodular\.neodani\.com$

Cita:
Iniciado por abimaelrc Ver Mensaje
Ahora nunca había visto un ejemplo que hiciera solamente ^$, siempre lo he visto con algún caractery también el RewriteRule debes indicar un caracter.
No puedo poner un caracter porque entonces no sería la cadena vacía, y lo que quiero es que cuando no haya nada, (ya que le estas indicando, directamente el dominio) te ejecute la regla, no? ves alguna otra forma de lograr el resultado? :D


Cita:
Iniciado por abimaelrc Ver Mensaje
En todo caso puedes indicar la parte que te redirige al inicio al final y si no se cumple ninguno de los anteriores, entonces se ejecuta el de inicio.
Esta última parte no sé a qué te refieres, puedes ponerme un ejemplo?

Muchas gracias

Etiquetas: redirigir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:51.