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

Ruta amigable sencilla

Estas en el tema de Ruta amigable sencilla en el foro de Apache en Foros del Web. Hola foreros!, Llevo varios dias intentando hacer un archivo .htaccesss que permita hacer rutas amigables pero de la siguiente forma. Tengo un archivo alojado en ...
  #1 (permalink)  
Antiguo 12/07/2009, 18:14
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Ruta amigable sencilla

Hola foreros!,

Llevo varios dias intentando hacer un archivo .htaccesss que permita hacer rutas amigables pero de la siguiente forma.

Tengo un archivo alojado en la carpeta principal de mi servidor es decir: www.miweb.com/archivo.php . Lo que deseo es que cualquier ruta de mi web se dirija al archivo. Os pongo varios ejemplos:

www.miweb.com/home/ = www.miweb.com/archivo.php?h_1=home
www.miweb.com/home = www.miweb.com/archivo.php?h_1=home

www.miweb.com/home/view/ = www.miweb.com/archivo.php?h_1=home&h_2=view
www.miweb.com/home/view = www.miweb.com/archivo.php?h_1=home&h_2=view

He estado haciendo pruebas pero algo no me funciona:


Código:
Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*) archivo.php?h_1=$1
RewriteRule ^(.*)/ archivo.php?h_1=$1
RewriteRule ^(.*)/(.*) archivo.php?h_1=$1&h_2=$2
RewriteRule ^(.*)/(.*)/(archivo.php?h_1=$1&h_2=$2

¿Que hago mal?. Cuando imprimo <?php echo $_GET["h_1"]; ?> no me imprime "home". ¿Que debo hacer para imprimirlo?
  #2 (permalink)  
Antiguo 12/07/2009, 21:36
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 4 meses
Puntos: 46
Respuesta: Ruta amigable sencilla

hola yo utilizo cakephp y usa mas o menos las rutas como tu las quieres utilizar, lo unico que tienes que hacer es habiltar el mod_rewrte

de aqui puedes descargar cake
[URL="http://cakephp.org/downloads"]Cake/URL]

cualquier duda en cuanto al manejo de cake aqui estamos.
  #3 (permalink)  
Antiguo 13/07/2009, 01:07
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Respuesta: Ruta amigable sencilla

De momento las reglas deberían estar puestas en orden inverso, y añadiría [L] al final para cada una de ellas... Por cierto en la última se te coló un (

Código:
Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)/(.*)/ archivo.php?h_1=$1&h_2=$2 [L]
RewriteRule ^(.*)/(.*) archivo.php?h_1=$1&h_2=$2 [L]
RewriteRule ^(.*)/ archivo.php?h_1=$1 [L]
RewriteRule ^(.*) archivo.php?h_1=$1 [L]
Sería interesante ver qué saca con esto...
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #4 (permalink)  
Antiguo 13/07/2009, 18:12
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Ruta amigable sencilla

Hola ferny!...

He probado tu codigo y uso el codigo: <?php echo $_GET["h_1"]; ?> . Entrando en la ruta www.miweb.com/variable_get/ me imprime "archivo.php", pero lo que deseaba es que me imprimiese "variable_get".

¿Que debo hacer?
  #5 (permalink)  
Antiguo 14/07/2009, 00:23
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Respuesta: Ruta amigable sencilla

Imagino que basta añadir un RewriteCond delante de cada condición, indicando que no procese la regla si el archivo solicitado es el archivo.php

Código:
Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/archivo.php
RewriteRule ^(.*)/(.*)/ archivo.php?h_1=$1&h_2=$2 [L]
RewriteCond %{REQUEST_URI} !^/archivo.php
RewriteRule ^(.*)/(.*) archivo.php?h_1=$1&h_2=$2 [L]
RewriteCond %{REQUEST_URI} !^/archivo.php
RewriteRule ^(.*)/ archivo.php?h_1=$1 [L]
RewriteCond %{REQUEST_URI} !^/archivo.php
RewriteRule ^(.*) archivo.php?h_1=$1 [L]
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #6 (permalink)  
Antiguo 14/07/2009, 12:03
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Ruta amigable sencilla

Hola hola!

Muchas gracias ferny!... me sirvio de mucho tu ayuda!

Hasta pronto!.
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 09:01.