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

Url's amigables

Estas en el tema de Url's amigables en el foro de Apache en Foros del Web. Hola muy buenas, Estoy realizando url's amigables y e configurado un archivo .htaccess, donde e puesto lo siguiente: Código PHP: RewriteEngine On RewriteCond  %{ http_host } ^ ...
  #1 (permalink)  
Antiguo 13/05/2012, 00:08
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Url's amigables

Hola muy buenas,

Estoy realizando url's amigables y e configurado un archivo .htaccess, donde e puesto lo siguiente:

Código PHP:
RewriteEngine On
RewriteCond 
%{http_host} ^xxxx.es [nc]
RewriteRule ^(.*)$ http://www.xxxx.es/$1 [r=301,nc]

# Reescribir la URL solicitada por el usuario AMIGABLES
# ***********************************************************************
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&$15=$16&$17=$18&urlamigable=$19&extension=$20 [L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&$15=$16&urlamigable=$17&extension=$18 [L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&urlamigable=$15&extension=$16 [L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&urlamigable=$13&extension=$14 [L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&urlamigable=$11&extension=$12 [L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&$7=$8&urlamigable=$9&extension=$10 [L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&$5=$6&urlamigable=$7&extension=$[L]
    
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&$3=$4&urlamigable=$5&extension=$[L]
    
Rewriterule ^(.+)-(.+)/(.+).(.+)$ index.php?$1=$2&urlamigable=$3&extension=$[L
Funciona perfectamente y lo e configurado para pasarle varias variables por get en la url.
Seguramente este código se podria simplificar y me gustaria que me pudieran mejorarlo, como ya e comentado funciona perfecto, pero seguramente no sea lo correcto este código en el .htaccess

Muchísimas gracias
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 13/05/2012, 13:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Url's amigables

Bueno no Soy experto en el tema, pero en frameworks MVC se suele usar la técnica de los controladores frontales, en la cual se hace uso de máximo 3 líneas en el .htaccess y se centralizan todas las peticiones a un sólo archivo PHP, claro que si en tu caso usas solo PHP plano puede ser muy laborioso de implementar, aunque existen clases prefabricadas como el modulo routing de Symfony2, el cual lo puedes usar de forma independiente (requiere PHP 5.3), y cómo veo en tu caso que usas un solo archivo te puede servir
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/05/2012, 01:37
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Url's amigables

Tengo el problema de que no me reconoce las variables al como lo señalo en color,

# Reescribir la URL solicitada por el usuario AMIGABLES
# ************************************************** *********************
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&$15=$16&$17=$18&urlamigable=$19&extension=$20 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&$15=$16&urlamigable=$17&extension=$18 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&urlamigable=$15&extension=$16 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&urlamigable=$13&extension=$14 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&urlamigab le=$11&extension=$12 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&$7=$8&urlamigable=$9&e xtension=$10 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&$5=$6&urlamigable=$7&extensi on=$8 [L]
Rewriterule ^(.+)-(.+)/(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&$3=$4&urlamigable=$5&extension=$6 [L]
Rewriterule ^(.+)-(.+)/(.+).(.+)$ segundamano/index.php?$1=$2&urlamigable=$3&extension=$4 [L]

La variable GET que estoy pasando es:
http://www.xxxx.com/c-Gest_anuncios/...ectamente.html

Y no me funciona $_GET'code'], me lo trae como | code = c0
Como podeís ver y e marcado en rojo que no me funciona las variables GET a partir del $10 en adelante, no es correcto?
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------


Última edición por syntex; 27/05/2012 a las 01:49

Etiquetas: amigables, variables, usuarios
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:23.