Comunidad de diseño web y desarrollo en internet online

No redirecciona .htaccess

Citar            
MensajeEscrito el 26 Feb 2009 04:05 pm
Hola a todos:
Lo que estoy intentando hacer es crear una web con url amigables y se como transformar url extensas a amigables, pero el problema me viene cuando en una de las líneas de código del .htaccess intento redireccionar una url con paramentros pasados por GET a otra. Este es mi .htaccess:

Código :

Options FollowSymLinks
RewriteEngine On

Rewriterule ^index/mod/(.*)$                        index.php?mod=$1
Rewriterule ^index/mod/(.*)/(.*),(.*)$                     index.php?mod=$1&$2=$3


Si yo pongo por ejemplo esto me funciona correctamente, me redirecciona a la página deseada

Código :

<a href="index/mod/contactar">Contactar</a>


Pero, si por el contrario yo pongo esto, me redirecciona al inicio de la página.

Código :

<a href="index/mod/empresa/titulo,es-un-titulo-de-prueba">Empresa</a>


Probé a comentar la primera línea del .htaccess, y así el segundo enlace funciona perfectamente, pero claro, no me funciona el primero....
Yo necesitaba poder indicar por ejemplo, que si se pasan 2 variables que haga esto, y si se pasa 1 variable que haga lo otro, pero no se como, y ni si quiera se si así solucionaria mi problema.
Alguien puede ayudarme???? :oops:

Por naiara

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Mar 2009 07:50 pm
Hola,

No soy muy entendido en esto pero yo utilizo uno similar y si me funciona.

Este es tu código

Código :

Options FollowSymLinks
RewriteEngine On

Rewriterule ^index/mod/(.*)$                        index.php?mod=$1
Rewriterule ^index/mod/(.*)/(.*),(.*)$                     index.php?mod=$1&$2=$3


El problema lo veo aquí Rewriterule ^index/mod/(.*)/(.*),(.*)$ index.php?mod=$1&$2=$3

$2 se supone que es el nombre de la variable y esa no cambia prueba a ver este código:

Código :

Rewriterule ^(.*)/(.*)/(.*)/(.*)/$ $1.php?mod=$2&mod2=$3&mod3=$4


En este caso en vez de index.php, tengo más archivos php que cambian, con lo cual le hago también que me lo ponga como URL amigable.

En tu caso entiendo:

Código :

Rewriterule ^index/mod/(.*)/(.*),(.*)/$ index.php?mod=$1&mod2=$2&mod3=$3


De todas formas antes de cambiar las variables prueba a poner Rewriterule ^index/mod/(.*)/(.*),(.*)/$ con la barra antes del $ a ver si te funciona

Espero te valga.

Saludos

Por azdream

50 de clabLevel



 

Diseño Web, Marketing Digital y Artes Gráficas

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.