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

Dudas con el mod_rewrite

Estas en el tema de Dudas con el mod_rewrite en el foro de Apache en Foros del Web. Ya e buscando un sinfin de veces pero las expresiones regulares me esta dando lata y no logro comprender del todo para solucionar el manejo ...
  #1 (permalink)  
Antiguo 24/10/2009, 18:46
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Dudas con el mod_rewrite

Ya e buscando un sinfin de veces pero las expresiones regulares me esta dando lata y no logro comprender del todo para solucionar el manejo de url amigables en mi web, acudo a ustedes para que me ayuden.
De esta manera estoy trabajando actualmente con url.
Código url:
Ver original
  1. http://127.0.0.1/marco/?mod=mod_art&opcion=mostrar&item=31
La variable ?mod es la que se pasa al index y abre a los demas modulos mediante un CASE.
Código url:
Ver original
  1. ?mod
Llamo al modulo que entrara dentro de la raiz de mi sitio
Código url:
Ver original
  1. mod_art
Variable que recibe el case para poder abrir una funcion que tendra las rutinas en el ejemplo esta la variable opcion con el valor mostrar, la cual manda a llamar la funcion que mostrara el articulo dependiendo del id
Código url:
Ver original
  1. opcion=mostrar
El id del articulo
Código url:
Ver original
  1. item=31
Tengo dudas de como generar la expresion regular para el .htaccess, y si debo tener mas de un .htaccess por cada modulo que abra o simplemente uno en la raiz de mi sito gracias por su valiosa ayuda
  #2 (permalink)  
Antiguo 24/10/2009, 18:58
 
Fecha de Ingreso: octubre-2009
Mensajes: 61
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Dudas con el mod_rewrite

usa un .htaccess

Código PHP:
Rewriterule ^modulos/modart/(.*).html$ /?mod=mod_art&opcion=mostrar&item=$
algo asi seria la secuencia a usar
  #3 (permalink)  
Antiguo 25/10/2009, 09:49
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

Ok gracias lo empezare a checar
  #4 (permalink)  
Antiguo 25/10/2009, 10:31
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

Lo e intentado de esta forma dentro de mi .htaccess pero no me funciona
<ifmodule mod_rewrite.c>
RewriteEngine on
Options +FollowSymlinks
Rewriterule ^modulos/modart/(.*).html$ /?mod=mod_art&opcion=mostrar&item=$1
</ifmodule>

Última edición por mark_ant0n; 25/10/2009 a las 10:35 Razón: Borre un corchete
  #5 (permalink)  
Antiguo 25/10/2009, 11:49
 
Fecha de Ingreso: octubre-2009
Mensajes: 61
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Dudas con el mod_rewrite

acuerdate amigo q tienes q carturar en el archivo .php`los gets

$option = $_GET['optrion'];
$item = $_GET['item'];

tienes q tratarlos como si fuera la url con imagen de php normal

a y otra cosa q se me paso por alto disculpa

Rewriterule ^modulos/modart/(.*).html$ /nombredelarchivo.php?mod=mod_art&opcion=mostrar&it em=$1

tienes q poner el nombre del archivo q estas ejecutando ya sea index.php u otro archivo
  #6 (permalink)  
Antiguo 25/10/2009, 11:58
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

Ok, entiendo entonces tiene que quedar algo como esto¿?
Código php:
Ver original
  1. $option = $_GET['option'];
  2. $item = $_GET['item'];
  3. <ifmodule mod_rewrite.c>
  4. RewriteEngine on
  5. Options +FollowSymlinks
  6. Rewriterule ^modulos/modart/(.*).html$ /?mod=mod_art&opcion=mostrar&item=$1
  7. #En cuanto al nombre del archivo .php abro algo como index.php?mod=mo_art sino que seria solamente asi localhost/?mod=mod_art&opcion=mostrar&item=17,
  8. </ifmodule>
Gracias
  #7 (permalink)  
Antiguo 25/10/2009, 12:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Dudas con el mod_rewrite

Cita:
Iniciado por mark_ant0n Ver Mensaje
Ok, entiendo entonces tiene que quedar algo como esto¿?
Código php:
Ver original
  1. $option = $_GET['option'];
  2. $item = $_GET['item'];
  3. <ifmodule mod_rewrite.c>
  4. RewriteEngine on
  5. Options +FollowSymlinks
  6. Rewriterule ^modulos/modart/(.*).html$ /?mod=mod_art&opcion=mostrar&item=$1
  7. #En cuanto al nombre del archivo .php abro algo como index.php?mod=mo_art sino que seria solamente asi localhost/?mod=mod_art&opcion=mostrar&item=17,
  8. #en cuanto al nombre del archivo, es eso... el "nombre" no el host... :borracho:
  9. </ifmodule>
Gracias
caray, no confundas... el PHP debe ir en el .php

lo del .htaccess no necesita PHP !!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 25/10/2009, 12:15
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

, ok, de todos modos seguire buscando gracias pateketrueke, y diculpa por la confución, pero estoy algo desesperado por que ando en contratiempo, por una entrega de proyecto que tengo que hacer, y pues me urge esta cuestion, y otras que tengo que cumplir, gracias por tu comentario
  #9 (permalink)  
Antiguo 25/10/2009, 14:26
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

Si no es mucha molestia sera que me pueden daro un ejemplo completo de como se implementaria, de ser posible gracias, y disculpen pero por la molestia ocasionada
ya me quedo claro lo del .htaccess ahora tengo problemas con el php, por que no me funciona, se sigue viendo asi
Código url:
Ver original
  1. http://127.0.0.1/marco/?mod=mod_art&opcion=mostrar&item=31
Código .htaccess:
Ver original
  1. <ifmodule mod_rewrite.c>
  2. RewriteEngine on
  3. Options +FollowSymlinks
  4. RewriteRule ^mod/([^/]*)/opcion/([^/]*)/item/([^/]*)\.html$ /?mod=$1&opcion=$2&item=$3 [L]
  5. </ifmodule>

Última edición por mark_ant0n; 25/10/2009 a las 14:32 Razón: añadi expresiones regulares
  #10 (permalink)  
Antiguo 25/10/2009, 14:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Dudas con el mod_rewrite

¿como que se sigue viendo así??

mira, el mod_rewrite no hace toda la magia por ti, si quieres que el enlace se vea como debe de ser... pues debes escribirlo como debe de ser!!

osea, el punto es que mod_rewrite no cambia automáticamente tus enlaces, eso lo debes hacer tu...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 25/10/2009, 15:09
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

ok Gracias por tu ayuda, pero precisamente ese mi problema o no me explique bien o no me entendistes, no puedo cambiar la forma en que se escribe la url en la barra de direcciones de mi navegador, por eso acudo al foro por su ayuda, ya engo el .htaccess, pero no tego el codigo .php, no se si me logre explicar, alguien que me pueda ayudar, esperando logico que haya entendido mi pregunta¿?
  #12 (permalink)  
Antiguo 25/10/2009, 15:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Dudas con el mod_rewrite

bien, es sencillo... si no tienes el .php necesario ¿que esperas para crearlo??

aunque no tenga nada debes hacerlo, inclusive... pon esto, así verás que esta pasando con la reescritura..

Código PHP:
Funciona!!<hr /><?php
var_dump
($_GET);
NOTA que si la carpeta de pruebas es /marco debes colocar una regla después de activar el modulo en el .htaccess, y antes de todas las demás reglas

Cita:
RewriteBase /marco
ahora procede a cargar la URL manualmente
http://localhost/marco/mod/candy/opcion/does/item/nothing.html
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 25/10/2009, 21:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 61
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Dudas con el mod_rewrite

1- El archivo .htacces debe estar en el root de tu servidor
2- debes de asegurarte de tener apache instalado y habilitado
3- deberia de funcionarte asi:

si dices que el sacas las variables desde index.php?mod=......

Código PHP:
Options +FollowSymlinks
RewriteEngine on
Rewriterule 
^modulos/modart/mostrar/(.*).html$ /index.php?mod=mod_art&opcion=mostrar&item=$
deberia de funcionarte por ley

PD: si usas Wamp Server en tu servidor local no instala apache asi q no te funcionara es preferible que lo hagas desde un servidor web real(online en la internet)
  #14 (permalink)  
Antiguo 26/10/2009, 09:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Apache
  #15 (permalink)  
Antiguo 26/10/2009, 11:31
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

Cita:
Iniciado por letal13 Ver Mensaje
1- El archivo .htacces debe estar en el root de tu servidor
2- debes de asegurarte de tener apache instalado y habilitado
3- deberia de funcionarte asi:
si dices que el sacas las variables desde index.php?mod=......
Código PHP:
Options +FollowSymlinks
RewriteEngine on
Rewriterule 
^modulos/modart/mostrar/(.*).html$ /index.php?mod=mod_art&opcion=mostrar&item=$
deberia de funcionarte por ley
Es que ese es mi problema lo que pasa es que no manejo una dirección como esta:
Código url:
Ver original
  1. http://onlinecomitan.com.mx/inex.php?mod=mod_art&opcion=default
si no que solamente asi, no hay un index.php? que reciva variables, y no me funciona aun por el problema de la expresion regular.
Código url:
Ver original
  1. http://onlinecomitan.com.mx/?mod=mod_art&opcion=default
y Otra cosa no necesito de algun codigo php que modifique las url, simplemente es asi con .htaccess en la raiz de mi sitio, gracias por su ayuda, vuelvo a reiterar que mi problema esta que no manejo un index.php?variable=5 que haga algo similar si no que es ?mod=mod_art, gracias por su ayuda
  #16 (permalink)  
Antiguo 26/10/2009, 17:41
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Dudas con el mod_rewrite

No sonsigo resolver mi problema si mi URL es asi
Código url:
Ver original
  1. 1.
  2.       http://onlinecomitan.com.mx/?mod=mod_art&opcion=default
que necesito modificar en mi .htacess en esta parte para que funcione
Código url:
Ver original
  1. Rewriterule ^modulos/modart/mostrar/(.*).html$ /index.php?mod=mod_art&opcion=mostrar&item=$1
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 22:17.