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

[SOLUCIONADO] Problema htaccess con carpetas anidadas

Estas en el tema de Problema htaccess con carpetas anidadas en el foro de Software para Servers en Foros del Web. hola, llevo un día dando vueltas a una url amigable. Resulta que tengo una ruta tal que así: Código PHP: http : //dominio.com/carpeta1/carpeta2/actividades/actividad/  otra con: ...
  #1 (permalink)  
Antiguo 07/12/2014, 04:50
 
Fecha de Ingreso: agosto-2007
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Problema htaccess con carpetas anidadas

hola,

llevo un día dando vueltas a una url amigable. Resulta que tengo una ruta tal que así:

Código PHP:
http://dominio.com/carpeta1/carpeta2/actividades/actividad/ 
otra con:
Código PHP:
http://dominio.com/carpeta1/carpeta2/actividades/actividad/subactividad/ 
En el htacces está puestas así:

Código PHP:
RewriteRule ^(.+)/(.+)/actividades/(.+)/$ carpeta1/carpeta2/actividades/actividad/index.php?c=$1&b=$2&a=$[L,QSA]
RewriteRule ^(.+)/(.+)/actividades/(.+)/(.+)/$ carpeta1/carpeta2/actividades/actividad/subactividad/index.php?c=$1&b=$2&a=$3&x=$[L,QSA
Hay que tener en cuenta que "carpeta1" y "carpeta2" son dinámicas, de ahí el "(.+)" en el RewritteRule

El problema que es que cuando la dirección es:
Código PHP:
http://dominio.com/carpeta1/carpeta2/actividades/actividad/ 
me apunta a la primera línea correctamente (al primer index.php), pero cuando la dirección es:
Código PHP:
http://dominio.com/carpeta1/carpeta2/actividades/actividad/subactividad/ 
me sigue apuntando al primer index.php, al que hay en "../actividad/index.php" y no al que debe, que sería "../actividad/subactividad/index.php"

Si me pudieran ayudar se lo agradecería muchísimo.

Gracias.
  #2 (permalink)  
Antiguo 07/12/2014, 23:29
Avatar de Tedel  
Fecha de Ingreso: enero-2011
Ubicación: Lima
Mensajes: 2.744
Antigüedad: 8 años, 10 meses
Puntos: 444
Respuesta: Problema htaccess con carpetas anidadas

Mi sugerencia:

Olvida las capetas y ve por una estructura dominio.loquesea/archivo.extension

Es lo que para los usuarios funciona mejor.
__________________
Soy el autor de Heptagrama y tengo un servicio "todo incluido" de marketing web.
  #3 (permalink)  
Antiguo 09/12/2014, 03:05
 
Fecha de Ingreso: agosto-2007
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Problema htaccess con carpetas anidadas

Ya solucioné el problema.

Respecto a la respuesta de Tedel, te lo agradezco, pero en cuestión de SEO considero que es importante que aparezca toda la ruta (carpetas), ya que el nombre de las mismas (creo) me sería muy útil.

La solución la encontré sacando los "index.php" de las carpetas anidadas; es decir, he creado un archivo llamado "actividad.php" en la raíz y otro llamado "subactividad.php" también en la raíz. No obstante, seguía teniendo el mismo problema, por lo que hice una pequeña variación en los RewriteRule.

Originalmente, los RewriteRule eran así:

Código PHP:
RewriteRule ^(.+)/(.+)/actividades/(.+)/$ carpeta1/carpeta2/actividades/actividad/index.php?c=$1&b=$2&a=$[L,QSA]
RewriteRule ^(.+)/(.+)/actividades/(.+)/(.+)/$ carpeta1/carpeta2/actividades/actividad/subactividad/index.php?c=$1&b=$2&a=$3&x=$[L,QSA
Y ahora están así:

Código PHP:
RewriteRule ^(.+)/(.+)/actividades/(.+)$ actividad.php?c=$1&b=$2&a=$[QSA]
RewriteRule ^(.+)/(.+)/actividades/(.+)/([a-zA-Z0-9-]+)/$ subactividad.php?c=$1&b=$2&a=$3&x=$4  [QSA
Espero que si alguien tiene el mismo o parecido problema, le pueda ayudar.

Etiquetas: anidadas, carpetas, htaccess, php, servidores-web
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 18:40.