Foros del Web » Administración de Sistemas » Software para Servers »

mod_rewrite sugerencia

Estas en el tema de mod_rewrite sugerencia en el foro de Software para Servers en Foros del Web. Espero poner este post en el foro adecuado. Agradezco infinitamente a todo el que me pueda ayudar ya que tengo el tiempo encima y necesito ...
  #1 (permalink)  
Antiguo 26/03/2009, 22:22
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 21 años, 1 mes
Puntos: 2
mod_rewrite sugerencia

Espero poner este post en el foro adecuado.

Agradezco infinitamente a todo el que me pueda ayudar ya que tengo el tiempo encima y necesito desatorame.

Estoy construyendo un sitio y quiero usar url amigables, nunca he usado los url amigables pero he entendido como funciona, mas o menos. Lo que quiero hacer es que en mi sitio exitan direcciones estilo

www.misitio.com/yosoypaquito

donde yosoypaquito cosa lo uso para buscar en una base de datos y una clave unica y jalar todos los datos referentes a ese elemento.

entonces en este momento tengo: www.misitio.com/miarchivo.php?id=yosoypaquito

y funciona bien, lo que quiero es insertar el urlamigable tons pongo en el mod_rewrite

Código:
Rewriterule ^(.*)$ miarchivo.php?id=$1
y mas o menos hace lo que quiero, el problema es cuando intento mostrar otra pagina de mi sitio como

www.misitio.com/paginax.php

gracias a la regla que puse me toma paginax.php como si fuera el id y trata de buscarlo en la base de datos.
Alguna idea de como puedo resolver esto? se que se puede hacer ya que sitios como myspace lo hacen.

En verdad agradezco toda la ayuda que pueda obtener.
  #2 (permalink)  
Antiguo 27/03/2009, 06:05
 
Fecha de Ingreso: diciembre-2005
Ubicación: Vigo
Mensajes: 135
Antigüedad: 18 años, 10 meses
Puntos: 3
Respuesta: mod_rewrite sugerencia

es que la regla de busqueda que utulizas es muy generica ^(.*)$, equivale a cualquier texto con nuemros y letras, prueva con una regla de busqueda mas concreta.
Código:
Rewriterule ^yosoypaquito/(.*)$  miarchivo.php?id=$1  [L]
, entonces cuando escribas www.misitio.com/yosoypaquito/lo_que_sea te buscara en la base de datos y si escribes otra cosa que no empieze por yosoypaquito te cargara la pagina. Espero que te sirva de ayuda. Un saludo.
__________________
AlfaMeta formacion
  #3 (permalink)  
Antiguo 27/03/2009, 18:43
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 21 años, 1 mes
Puntos: 2
Respuesta: mod_rewrite sugerencia

gracias, pero lo que necesito es tener lo mas limpio posible ese campo es decir, tengo que tener de preferencia

www.misitio.com/palabraclave

otra cosa que había pensado es poner un prefijo, por ejemplo:


www.misitio/kw_palabraclave

y en el .htaccess poner

Código:
Rewriterule ^kw_(.*)$  miarchivo.php?id=$1
aun así, me gustaría saber si existe una manera de dejarlo tal cual. Se me ocurre que haga una regla para cada archivo que exista en mi sitio, pero esto creo que no sería lo mejor, es mas, ni siquiera sé si se pueda. ejemplo:

Código:
Rewriterule ^otroarchivo1.php$  otroarchivo1.php
Rewriterule ^otroarchivo2.php$  otroarchivo2.php
Rewriterule ^otroarchivo.3php$  otroarchivo3.php
Rewriterule ^otroarchivo.4php$  otroarchivo4.php
.
.
.
Rewriterule ^otroarchivon.php$  otroarchivon.php
Rewriterule ^(.*)$  miarchivo.php?id=$1
Gracias de antemano por la atencion. ¿alguien más se ha topado con mi problema?
  #4 (permalink)  
Antiguo 27/03/2009, 21:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: mod_rewrite sugerencia

Prueba así:
Código:
ReWriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ archivo.php?var=$1
Básicamente, con RewriteCond decimos que sólo se reescriba si el archivo no existe.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 29/03/2009, 00:54
Avatar de nodream  
Fecha de Ingreso: septiembre-2003
Mensajes: 134
Antigüedad: 21 años, 1 mes
Puntos: 2
Respuesta: mod_rewrite sugerencia

David dejame decirte que eres GRANDE!!!!!!!

funciona perfecto!!!!!!!!

muchas gracias

espero que siga así, de cualquier anomalia lo haré saber en este foro, gracias otra vez
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:00.