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

HTACCESS y el guion medio

Estas en el tema de HTACCESS y el guion medio en el foro de Apache en Foros del Web. Hola gente de Foros del Web, Llevo bastante tiempo leyendo en este foro las dudas de muchos usuarios, y durante bastante tiempo, no he necesitado ...
  #1 (permalink)  
Antiguo 09/04/2014, 19:09
 
Fecha de Ingreso: abril-2014
Ubicación: leon, españa
Mensajes: 2
Antigüedad: 10 años
Puntos: 0
Pregunta HTACCESS y el guion medio

Hola gente de Foros del Web,

Llevo bastante tiempo leyendo en este foro las dudas de muchos usuarios, y durante bastante tiempo, no he necesitado colocar aquí ninguna pregunta. Pero éste tema me supera. Necesito ayuda en HTACCESS, para una REDIRECCIÓN AMIGABLE, os explico el problema:

Mi web muestra actualmente las categorías así:

http://www.amprogramacion.org/index.php?id=productos&cat=1

y actualmente, he logrado que se muestre así:

http://www.amprogramacion.org/1.category

El codigo en htaccess usado es:

Código:
RewriteRule ^(.+).category$ index.php?id=productos&cat=$1 [L]
Hasta aquí todo correcto. Pero las categorías tienen subcategorías, y éstas en PHP se buscan así:

http://www.amprogramacion.org/index.php?id=productos&cat=1&subcat=1

Me gustaría poder redirigirlas a:

http://www.amprogramacion.org/1-1.category

Mi problema está en esta linea:

Código:
RewriteRule ^(.+)-(.+).category$ index.php?id=productos&cat=$1&subcat=$2 [L,QSA]
Al parecer, apache entiende el guion medio "-" como un caracter especial. He probado a ponerlo (.+)\-(.+) (escapandolo con la barra slash /) y tampoco funciona. Os pego el HTACCESS COMPLETO (redirige de sin www a www y tiene más funciones):

Código:
RewriteEngine On
RewriteRule ^(.+).htm$ index.php?id=$1 [L]
RewriteRule ^(.+).search$ index.php?id=buscar&word=$1 [L]
RewriteRule ^(.+).details$ index.php?id=ver_producto&n=$1 [L]
RewriteRule ^(.+).category$ index.php?id=productos&cat=$1 [L]
RewriteRule ^(.+)\-(.+).category$ index.php?id=productos&cat=$1&subcat=$2 [L,QSA]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Espero que me podais ayudar.

Gracias de antemano y un saludo.
  #2 (permalink)  
Antiguo 10/04/2014, 08:09
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: HTACCESS y el guion medio

Mentira.

El guión no actúa como metacaracter fuera de los corchetes. Lo que sí deberías escapar es el punto, por ejemplo:

Código Apache:
Ver original
  1. RewriteRule ^(.+)\.htm$ index.php?id=$1 [L]
  #3 (permalink)  
Antiguo 10/04/2014, 13:28
 
Fecha de Ingreso: abril-2014
Ubicación: leon, españa
Mensajes: 2
Antigüedad: 10 años
Puntos: 0
Respuesta: HTACCESS y el guion medio

Muchas gracias, lo voy a probar y te cuento.

Por cierto, soy Escavo de Urba Loca :)

Un saludo!!

Etiquetas: amigables, htaccess, php, seo, urls
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 22:41.