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

Sobre .htaccess y reescribir url’s

Estas en el tema de Sobre .htaccess y reescribir url’s en el foro de Apache en Foros del Web. He activado en apache el modulo mod_rewrite: Código: LoadModule rewrite_module modules/mod_rewrite.so Despues he leido bastante documentación sobre el tema de reescribir url’s con el archivo ...
  #1 (permalink)  
Antiguo 26/11/2005, 10:06
Avatar de Miguel001  
Fecha de Ingreso: marzo-2005
Ubicación: España
Mensajes: 49
Antigüedad: 19 años, 1 mes
Puntos: 0
Sobre .htaccess y reescribir url’s

He activado en apache el modulo mod_rewrite:
Código:
LoadModule rewrite_module modules/mod_rewrite.so
Despues he leido bastante documentación sobre el tema de reescribir url’s con el archivo .htaccess.

Aquí casi siempre recomendáis el articulo http://www.zonaphp.com/index.php?mod...ion=leer&id=30.

Precisamente en este artículo se indica que:

Cabe resaltar que en este caso el .htaccess debe esta ubicado en un directorio superior al cual sé esta haciendo referencia con la url, dado que de otra manera no funciona.

Poniendo el ejemplo de los articulos que nos cuentan en ZonaPhp. ¿Si donde se pretende reescribir las url´s se encuentra en una carpeta del dominio(www.dominio.com/articulos), el archivo .htaccess se pondría en el directorio raiz(www.dominio.com)?


El ejemplo del archivo .htaccess que ponen en ZonaPhp es el siguente:
Código:
#Activamos el mod_rewrite 
RewriteEngine on 
#Le indicamos como re-escribir la URL 
#En este caso lo que hacemos es indicarle que las expresiones entre paréntesis corresponden al id y página respectivamente. 
RewriteRule /articulo/(.+) /articulo.php?id=$1
Por lo tanto la url http://www.midominio/articulos/articulo.php?id=32 quedaria
para buscadores como http://www.midominio/articulos/articulo/32


Me gustaria saber si en la barra de direcciones una vez reeescrita la url aparece http://www.midominio/articulos/articulo/32
o sigue apareciendo
http://www.midominio/articulos/articulo.php?id=32
En cualquier caso ¿se podria acceder a dicha pagina de ambas formas?.

Me gustaría saber tambien alguna web que utilice esta técnica. Según leí esta misma pagina(forosdelweb) utilizaba este sistema, sin embargo veo que los post de los que aquí escribimos, en google aparecen con el formato original http://www.forosdelweb.com/f18/. Si utilizaran esta tecnica, teoricamente tendria que aparecer esta dirección en google como
http://www.forosdelweb.com/forumdisplay/18.

Yo lo he intentado en local y en mi servidor, y no consigo que funcione.
Si me contestáis a las preguntas anteriores podria tener alguna referencia de porque no funciona.
Por último veo que hay quien añade al principio del archivo .htaccess la instrucción Options +FollowSymLinks

Código:
Options +FollowSymLinks
RewriteEngine on 
RewriteRule /articulo/(.+) /articulo.php?id=$1
que diferncia hay entre escribir el archivo anterior a este:
Código:
RewriteEngine on 
RewriteRule /articulo/(.+) /articulo.php?id=$1
Agradezco vuestra ayuda.
Un Abrazo.
  #2 (permalink)  
Antiguo 26/11/2005, 10:26
Avatar de tyo100  
Fecha de Ingreso: febrero-2005
Ubicación: Monterrey, NL
Mensajes: 475
Antigüedad: 19 años, 2 meses
Puntos: 1
Este tema deberia ir en servidores Web => Apache

Cita:
Despues he leido bastante documentación sobre el tema de reescribir url’s con el archivo .htaccess.
Por mas que leas, nunca sera suficiente

Cita:
Cabe resaltar que en este caso el .htaccess debe esta ubicado en un directorio superior al cual sé esta haciendo referencia con la url, dado que de otra manera no funciona.
Pero no necesariamente, hay otras opciones, como por ejemplo poner las directivas directamente en el archivo de configuracion de apache

Cita:
Me gustaria saber si en la barra de direcciones una vez reeescrita la url aparece http://www.midominio/articulos/articulo/32
o sigue apareciendo
http://www.midominio/articulos/articulo.php?id=32
En cualquier caso ¿se podria acceder a dicha pagina de ambas formas?.
Se puede acceder a la pagina de ambas formas, pero si vaz a usar mod_rewrite se recomienda que uses la primera y todos tus links sean como la primera para cuando empiecen a indexarte

http://www.midominio/articulos/articulo/32

Cita:
Yo lo he intentado en local y en mi servidor, y no consigo que funcione.
Si me contestáis a las preguntas anteriores podria tener alguna referencia de porque no funciona.
Por último veo que hay quien añade al principio del archivo .htaccess la instrucción Options +FollowSymLinks
Que version de apache tienes??, que SO tienen???, tienes cargado el modulo rewrite?? si mal no recuerdo la opcion +FollowSymLinks permite seguir enlaces fuera de el document_root, estos enlaces se hacen en linux con ln -s.


Nota:
No lo tomes a mal pero, Aun te falta leer mas.
__________________
Desde la tierra de los nopales, las tortillas de maiz, y en cuya ciudad se encuenta el cerro de la silla.
NalgAss Web
SpiderMex - La Historia del Hombre Araña en MEXICO
  #3 (permalink)  
Antiguo 26/11/2005, 10:37
Avatar de Miguel001  
Fecha de Ingreso: marzo-2005
Ubicación: España
Mensajes: 49
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias por tus respuestas.

Seguro que seguiré leyendo más.

Como indicas, si el moderador quiere trasladar este post a Servidores Web perfecto.

Si, esta cargado perfectamente el modulo rewrite.

Utilizo la versión 1.3.33 de apache/WindowsXP y PHP 4. 3.3
  #4 (permalink)  
Antiguo 26/11/2005, 11:12
Avatar de tyo100  
Fecha de Ingreso: febrero-2005
Ubicación: Monterrey, NL
Mensajes: 475
Antigüedad: 19 años, 2 meses
Puntos: 1
intenta cargar las directivas no en el archivo .htaccess si no directamente en el archivo de configuracion de apache

Código PHP:
<Directory c:/directorio/>
    <
IfModule mod_rewrite.c>
        
RewriteEngine on
        RewriteRule 
/articulo/(.+) /articulo.php?id=$1
    
</IfModule>
</
Directory

Tambien checar tu error.log de apache y mira que errores te tira, el directorio debe ser donde esta tu archivo articulo.php
__________________
Desde la tierra de los nopales, las tortillas de maiz, y en cuya ciudad se encuenta el cerro de la silla.
NalgAss Web
SpiderMex - La Historia del Hombre Araña en MEXICO
  #5 (permalink)  
Antiguo 26/11/2005, 13:39
Avatar de Miguel001  
Fecha de Ingreso: marzo-2005
Ubicación: España
Mensajes: 49
Antigüedad: 19 años, 1 mes
Puntos: 0
Finalmente he conseguido que me funcione en local añadiendo al archivo de configuración de apache httpd.conf


Código:
<Directory "C:/directorio/hdocs/articulos">
allow from all
AllowOverride All
</Directory>
y creando el archivo .htaccess de la siguiente manera:

Código:
RewriteEngine on
RewriteBase /
RewriteRule articulo/(.+) articulos/articulo.php?id=$1

El .htaccess lo he puesto en la misma carpeta donde está el archivo articulo.php

Para que funcionen los archivos css, js, las imagenes y los links he tenido que darle rutas absolutas. tipo http://localhost/articulos/index.php, o <img src=http://localhost/imagenes/imagen.gif>.

De esta manera puedo ver mis archivos de ambas formas:

http://localhost/articulos/articulo.php?id=20
o
http://localhost/articulos/articulo/20

Una ultima duda:
Cuando navego por el sitio las URL's aparecen
asi:
http://localhost/articulos/articulo.php?id=20.
Cómo he dicho antes, introduciendo el otro formato más sencillo tambien se ve perfectamente la pagina. Mi pregunta es: ¿Hay que hacer un mapa del sitio con las url's mas faciles para los buscadores o los buscadores ya encuentran el mismo formato sencillo de forma automatica?.

Repito. Lo pregunto porque por defecto aparecen las url's de siempre.

Gracias por la ayuda y
Veremos como va en el servidor.
  #6 (permalink)  
Antiguo 28/11/2005, 09:10
Avatar de tyo100  
Fecha de Ingreso: febrero-2005
Ubicación: Monterrey, NL
Mensajes: 475
Antigüedad: 19 años, 2 meses
Puntos: 1
Cita:
Iniciado por Miguel001
Para que funcionen los archivos css, js, las imagenes y los links he tenido que darle rutas absolutas. tipo http://localhost/articulos/index.php, o <img src=http://localhost/imagenes/imagen.gif>.
Puedes darle rutas por ejemplo /articulos/index.php o /imagenes/imagen.gif , recuerda para que funcione bien con los buscadores es necesario que los links dentro de tu pagina sean hacia articulo/20 y no articulo.php?id=20

Salu2
__________________
Desde la tierra de los nopales, las tortillas de maiz, y en cuya ciudad se encuenta el cerro de la silla.
NalgAss Web
SpiderMex - La Historia del Hombre Araña en MEXICO
  #7 (permalink)  
Antiguo 02/12/2005, 06:49
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 10 meses
Puntos: 25
No me funciona

Hola,
A mi no me funciona.
¿podríais poner aquí el .htacces que tenéis en el document_root?
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
  #8 (permalink)  
Antiguo 17/12/2005, 12:29
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
el mod rewriter solo funciona en apache

hola tengo mi web en un servidor que tiene windows 2003

los de la empresa que lo ospedan me han comentado que tengo el modrewriter activado

pero a mi no me funciona


no sera que solo funciona en unix?
o que tengan el apache instalado?

por que yo corro sobre IIS
  #9 (permalink)  
Antiguo 12/06/2008, 07:12
 
Fecha de Ingreso: junio-2008
Mensajes: 87
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: el mod rewriter solo funciona en apache

Cita:
Iniciado por ^engonga^ Ver Mensaje
hola tengo mi web en un servidor que tiene windows 2003

los de la empresa que lo ospedan me han comentado que tengo el modrewriter activado

pero a mi no me funciona


no sera que solo funciona en unix?
o que tengan el apache instalado?

por que yo corro sobre IIS
el mod_rewrite es un modulo de apache..................................... :S
asi que una de dos
1 - o vos estas corriendo en un apache instalado en windows.. y la empresa de hosting te mintio al decirte que corres en iis
2 - o realmente estas corriendo en iis y la empresa te mintio al decirte que tenes el mod_rewrite.....

en cualquier caso te mintio :P jajajaja o el que te dijo no sabe de que habla....

eh visto por ahi algunas cosas parecidas al mod_rewrite de apache para iis pero no se como funcionaran...
fijate en iismod.com aver que hay
  #10 (permalink)  
Antiguo 07/12/2008, 20:51
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sobre .htaccess y reescribir url’s

Amigos Una Pregunta yo tengo una web que se modula asi usuarios?id=registrados&u=1
el 1 viene e ser la variable designada al usuarios por su registro pero como quedaria mi url miweb.com/usuairos/registrador/1 ? nose una ayuda
  #11 (permalink)  
Antiguo 11/12/2008, 07:15
 
Fecha de Ingreso: abril-2006
Mensajes: 104
Antigüedad: 18 años
Puntos: 0
Respuesta: Sobre .htaccess y reescribir url’s

Buenas a todos:

Yo estoy a dos bandas a ver si me funciona algun ejemplo pero nada.

En el servidor:

Apache--> 1.3.39
PHP--> 4.4.7
.htaccess --> RewriteRule ^url/(.+)\.html url/index.php?seccion=$1

(si les hace falta les pongo un enlace)

Y en local estoy con xammp:

xampp: version--> 1.6.8
Apache--> 2.2.9
PHP--> 5.2.6

RewriteEngine on
RewriteBase /
.htaccess --> RewriteRule ^url/(.+)\.html url/index.php?seccion=$1

De primeras en el xammp me da un error 500 de servidor por lo que pase a poner en el httpd.conf lo de:

<Directory "C:/xampp/htdocs">
allow from all
AllowOverride All
</Directory>

Pero nada mas de lo mismo. En fin a ver si me pueden echar una mano
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 11:11.