Autor Tema: [A] .htaccess al acecho  (Leído 401 veces)

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
[A] .htaccess al acecho
« en: 12 de Marzo de 2012, 21:52:38 pm »

Hola PHPeros ;-),

Estoy embarcado en un proyecto y necesito pasar las URL a URL amigables para que la navegación sea mucho mas sencilla. Imaginamos que tengo esta URL: index.php?accion=buscar queriendo pasarla a: index/accion/buscar. Esa URL mediante con el siguiente htaccess se podría lograr.

.htaccess original

Citar
Options +FollowSymLinks
RewriteEngine on
Rewriterule ^(.*)/(.*)/(.*)/$ $1.php?$2=$3

Bien, el problema es que cuando esté en la parte de busqueda y quiera acceder a: index.php?accion=buscar&id=12 el código anterior de .htaccess queda inservible, entonces, ¿Que puedo hacer?. No me digais que haga lo siguiente:

.htaccess primero
Citar
Options +FollowSymLinks
RewriteEngine on
Rewriterule ^(.*)/(.*)/(.*)/(.*)/(.*)/$ $1.php?$2=$3&$4=$5

Claro que se como hacer esto cuando son parámetros contados, pero hay veces que la URL puede ser: index.php?accion=buscar&id=12, otras: index.php?accion=buscar&id=12&ahora=banear y otras: index.php?accion=buscar&id=12&ahora=banear&despues=salir&antes=no cosas así, no se si me he llegado a explicar del todo. ¿Alguna idea?

Un saludo,
Siquillote.

#Fdo. Physlet

Comunidad PHPeros

[A] .htaccess al acecho
« en: 12 de Marzo de 2012, 21:52:38 pm »

Desconectado B4nDidO

  • PHPer@
  • **
  • Mensajes: 58
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[A] .htaccess al acecho
« Respuesta #1 en: 12 de Marzo de 2012, 22:19:09 pm »
Buenas yo lo haría asi. Aún no lo probé corrijanme si fallo.

Código: [Seleccionar]
RewriteRule ^articles(|/)$ /index.php?action
RewriteRule ^articles/archive(|/)$ /index.php?mostRecent&archiveMode
RewriteRule ^articles/([^/]+)/in/archive(|/)$ /index.php?rel=$1&archiveMode
RewriteRule ^articles/([^/]+)(|/)$ /index.php?rel=$1

Un saludo B4nDidO
Rock News

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[A] .htaccess al acecho
« Respuesta #2 en: 12 de Marzo de 2012, 22:20:06 pm »
Hola,

Parece ser que ya he conseguido que funcione, tan solo debía juntar ambas reglas en el mismo archivo de mayor a menor. Bien, el problema es que si yo voy ahora a: index/seccion1,sgh/seccion2,hjdhd/, al hacer el siguiente código PHP:

Código: [Seleccionar]
<?php
echo &
#39;Seccion 1 &#39;.$_GET[&#39;seccion1&#39;].&#39;<br>&#39;;
echo &#39;Seccion 2 &#39;.$_GET[&#39;seccion2&#39;];
?>


Si hago accedo a la dicha url con ese código me imprime en pantalla:

Citar
Seccion 1
Seccion 2 hjdhd

En cambio si accedo a index/seccion1,sgh muestra (Algo que es lógico por que solo hay 1 valor)

Citar
Seccion 1 sgh
Seccion 2

En conclusión, que cuando accedo a 2 secciones o mas solo muestra la última.
¿Soluciones?.

Un saludo,
Siquillote.
« Última modificación: 12 de Marzo de 2012, 22:22:53 pm por Siquillote »

#Fdo. Physlet

Desconectado B4nDidO

  • PHPer@
  • **
  • Mensajes: 58
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[A] .htaccess al acecho
« Respuesta #3 en: 12 de Marzo de 2012, 23:09:04 pm »
A veces cosas tan mal inútiles como añadir 3 valores pueden hacer que te funcionen ya que al añadir 3 valores siempre va a tener preferencias los de arriba, yo creo que eso te podría valer.

Como ya dije antes no tiene ningún fundamento pero algunas veces sirve, te lo digo x experiencia.

Un saludo Bandido
Rock News