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

Problema con Mod Rewrite, misma url con distinta cantidad de variables

Estas en el tema de Problema con Mod Rewrite, misma url con distinta cantidad de variables en el foro de Apache en Foros del Web. Gracias por tomarte las molestias de entrar en este post. En una web tengo lo siguiente y funciona: Rewriterule ^articulo/(.+)/(.+)/(.+) articulo.php?lang=$1&cat=$2&sub=$3 Rewriterule ^articulo/(.+)/(.+) articulo.php?lang=$1&cat=$2 Si ...
  #1 (permalink)  
Antiguo 20/10/2007, 17:15
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 3 meses
Puntos: 0
Problema con Mod Rewrite, misma url con distinta cantidad de variables

Gracias por tomarte las molestias de entrar en este post.

En una web tengo lo siguiente y funciona:

Rewriterule ^articulo/(.+)/(.+)/(.+) articulo.php?lang=$1&cat=$2&sub=$3
Rewriterule ^articulo/(.+)/(.+) articulo.php?lang=$1&cat=$2

Si la url amigable tiene 3 variables, utliza la primera linea y sino continua, y si tiene 2 variables utiliza la segunda linea. Funciona perfectamente.

Ahora estoy haciendo otra web en la que lo que equivale a la palabra "articulo" ya no es fijo, esa palabra sera una variable tambien y aqui esta el problema:

Rewriterule ^(.*)/(.*)/(.*)/$ index.php?cat=$1&sub=$2&marca=$3
Rewriterule ^(.*)/(.*)/$ index.php?cat=$1&sub=$2
Rewriterule ^(.*)/$ index.php?cat=$1

Si escribo ....com/electronica/ funciona
si escribo ....com/electronica/mp3/ ya no funciona

Muchas gracias por tu ayuda.

Última edición por Enric Roca; 21/10/2007 a las 01:42
  #2 (permalink)  
Antiguo 21/10/2007, 02:48
 
Fecha de Ingreso: enero-2002
Mensajes: 31
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Problema con Mod Rewrite, misma url con distinta cantidad de variables

Bueno, encontre parte de la solucion.

El siguiente codigo funciona, aunque necesito poner la / al final de la url amigable, sino no da error, y si quito la / antes de $ en el htacces no funciona nada.

Código:
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


Rewriterule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/$    detalle.php?cat_url=$1&sub_url=$2&marca_url=$3&modelo_url=$4
Rewriterule ^([^/]+)/([^/]+)/([^/]+)/$            index.php?cat_url=$1&sub_url=$2&marca_url=$3
Rewriterule ^([^/]+)/([^/]+)/$                    index.php?cat_url=$1&sub_url=$2
Rewriterule ^([^/]+)/$                            index.php?cat_url=$1
Ahora tengo otro problema, si hay una pagina con un nombre fijo como ..com/login/ resulta que se va a index como si fuera una variable. Si añado...
Código:
Rewriterule ^login/$      login.php
tampoco me funciona. No deberia mirar si es "login" y sino seguir mirando lo demas?
  #3 (permalink)  
Antiguo 14/12/2007, 04:49
jane_135
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema con Mod Rewrite, misma url con distinta cantidad de variables

A mi no me funciona. :(
Tengo un cms de joomla que internamente (por php) le cambia las urls y las convierte a la forma de las barras

Lo que quiero es cambiar la url y ponerla con otra nomenclatura.



Mi duda es que si el .htaccess es capaz de cambiar esto, teniendo ya urls con barras.

Si pongo esto en el .htaccess :

RewriteRule ^index.php/[a-z]+/[a-z]*/[0-9]*/[0-9]*/?$

en referencia a : http://localhost/joomla/index.php/content/view/13/47/

Cómo puedo hacer que me cambie por http://localhost/joomla/index.php/13 ????
  #4 (permalink)  
Antiguo 14/12/2007, 05:29
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: Problema con Mod Rewrite, misma url con distinta cantidad de variables

Quizas es que joomla necesita esos 4 valores (content, view, 13 y 47) para funcionar. Quizas es incapaz de solo recibiendo 13 mostrar el contenido correcto.
  #5 (permalink)  
Antiguo 14/12/2007, 05:54
jane_135
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema con Mod Rewrite, misma url con distinta cantidad de variables

eso pienso yo, que aunque vaya a cambiar la url, le sigo teniendo que pasar
parámetros. Pero he probado a hacer esto:

Tengo así el .htaccess:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^index\.php/$ index.php/content/view/$1/$2/

Accedo a : http://localhost/joomla/index.php/content/view/13/47/

y sí que va bien al contenido. Es más, ese contenido lo tengo asociado a la home y me redirige ahí, pero sin embargo, cambio uno de los valores de los parámetros como por ejemplo a http://localhost/joomla/index.php/content/view/13/50/
y accede al contenido correspondiente, así que sí que parece que funciona.
Lo que ocurre y no encuentro la razón, es por qué no cambia la url del navegador a index.php.

¿¿¿¿¿¿¿¿¿ Hay que activar algo para que me la muestre???????????
  #6 (permalink)  
Antiguo 14/12/2007, 09:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con Mod Rewrite, misma url con distinta cantidad de variables

Tema trasladado a Apache.

Porfavor publica en los foros correctos.
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 20:46.