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

mod_rewrite me redirecciona mal

Estas en el tema de mod_rewrite me redirecciona mal en el foro de Apache en Foros del Web. Hola! tengo el siguiente codigo en el archivo .htaccess. Es para poder utilizar URLs amigables para SEO. El problema está que cuando pido un archivo ...
  #1 (permalink)  
Antiguo 26/01/2012, 21:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 309
Antigüedad: 17 años, 1 mes
Puntos: 16
Pregunta mod_rewrite me redirecciona mal

Hola! tengo el siguiente codigo en el archivo .htaccess. Es para poder utilizar URLs amigables para SEO. El problema está que cuando pido un archivo que no existe en vez de mostrarme error 404 me muestra el index.php ¿alguna idea?


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?qs=$1 [L,QSA]
</IfModule>

gracias!
__________________
Responder encuestas
  #2 (permalink)  
Antiguo 26/01/2012, 22:24
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: mod_rewrite me redirecciona mal

eso tal cual está te redirije todo al index, incluso el 404

Podrias agregarle un prefijo
Código Apache:
Ver original
  1. RewriteRule ^buscar\-(.*)$ index.php?qs=$1 [L,QSA]

y en tus links

href="/buscar-parametroparaqs"
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 27/01/2012, 09:54
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: mod_rewrite me redirecciona mal

Si no quieres tocar las urls, otra opción es validarlas desde index.php.

Se supone que en index.php vas a mostrar una cosa u otra según la url, o la variable qs. Si primero compruebas que sea válida con por ejemplo un if, puedes poner que si no es válida, te dirija a tu página de error:

if elseif etc etc etc
else {
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
include("404.php");
exit();
}

Donde 404.php sería tu página de error.

Saludos

Etiquetas: htaccess, php, rewrite, url, redireccionar
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 01:55.