Foros del Web » Administración de Sistemas » Software para Servers »

[SOLUCIONADO] Problema con .htaccess y el método _GET

Estas en el tema de Problema con .htaccess y el método _GET en el foro de Software para Servers en Foros del Web. Buenas tardes, estoy desarrollando un pequeño proyecto para la gestión de noticias y me he encontrado con un problema a la hora de utilizar URLs ...
  #1 (permalink)  
Antiguo 19/08/2014, 11:16
Avatar de JSGarcia91  
Fecha de Ingreso: marzo-2012
Ubicación: Alicante
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
Exclamación Problema con .htaccess y el método _GET

Buenas tardes, estoy desarrollando un pequeño proyecto para la gestión de noticias y me he encontrado con un problema a la hora de utilizar URLs amigables.

El caso es que cuando recojo el 'slug' (título de la noticia sustituyendo los espacios en blanco por guiones y se eliminan todos los caracteres que no sean letras o números) pasado como variable en la URL me lo devuelve dos veces, una seguida de '.php' a continuación una barra lateral y de nuevo el contenido pasado por URL.

Aquí mi .htacces:

Código:
# Cotejamiento por defecto.
AddDefaultCharset utf-8

# Modulo para URLs amigables.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f

# Ofusca el .php de los documentos.
RewriteRule ^(.*)$ $1.php

# Noticias
Rewriterule ^noticia/(.*)$ noticia.php?slug=$1 [QSA,L]

# Evitar el listado de directorios
Options -Indexes
Y cuando por ejemplo voy a http://localhost/miportal/noticia/esto-es-una-noticia el slug recogido por método _GET me devuelve lo siguiente:

Código:
esto-es-una-noticia.php/esto-es-una-noticia
En lugar de devolver 'esto-es-una-noticia'. Lo curioso es que solo me pasa en algunas páginas, he utilizado el mismo método antes y no he tenido problemas.

¡Gracias y un saludo!
  #2 (permalink)  
Antiguo 19/08/2014, 11:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con .htaccess y el método _GET

El problema es el orden de tus reglas, si lo piensas primero se aplica esto:
Cita:
RewriteRule ^(.*)$ $1.php
Dado que no especificas que termine ahí (con "L") entonces aplica la siguiente regla:
Cita:
Rewriterule ^noticia/(.*)$ noticia.php?slug=$1 [QSA,L]
Y ahí si especificas que es la última regla a aplicar con "L", deberías consultar una referencia al respecto.

Tu problema no es de programación en PHP, es configuración de Apache (.htaccess) y nada más.

En breve: el orden de las reglas es importante, y debes colocar las reglas menos flexibles al principio de todo lo demás.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/08/2014, 11:29
Avatar de JSGarcia91  
Fecha de Ingreso: marzo-2012
Ubicación: Alicante
Mensajes: 24
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con .htaccess y el método _GET

Muchísimas gracias, esa regla fuera y haré una para cada archivo en lugar de ofuscar la extensión del archivo.

Te debo una cena amigo :D

Etiquetas: htacces, php
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 12:49.