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

Como hacer URL amigables para este sitio

Estas en el tema de Como hacer URL amigables para este sitio en el foro de Apache en Foros del Web. Hola comunidad. Quisiera de su ayuda pa solucionar este problema. tengo la siguiente web: http://www.cadenagramonte.cu/campito/index.php, y quisiera ponerle URL amigables: por ejemplo a este URL: ...

  #1 (permalink)  
Antiguo 11/12/2009, 11:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Como hacer URL amigables para este sitio

Hola comunidad. Quisiera de su ayuda pa solucionar este problema.

tengo la siguiente web: http://www.cadenagramonte.cu/campito/index.php, y quisiera ponerle URL amigables: por ejemplo a este URL: http://www.cadenagramonte.cu/campito/leer_noticia.php?id=11&tipo=2, pero no me trabaja de ningun modo que he probado.

Lo he probado con el archivo .htaccess y por una via que me encontre en internet para hacerlo desde php, y no he podido insertar las URL amigables.

Acudo a la comunidad para que me ayuden... a solucionar mi problema ya sea una solucion sin utilisar el archivo .htaccess(desde php nada mas) o utilizando el mismo.

Saludos
  #2 (permalink)  
Antiguo 11/12/2009, 11:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Como hacer URL amigables para este sitio

Es que para que puedas usar url amigables tienes que usar htaccess. Porque el servidor es el que se encarga de enrutar la url a donde corresponde con una mascara en el campo de direcciones. PHP se encarga de todo lo que tenga que ver con su lenguaje.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/12/2009, 11:32
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

Si esactamente probe con esto

Options +FollowSymLinks
RewriteEngine on

Rewriterule ^leer_noticia/(.+)/(.+) leer_noticia.php?id=$1&tipo=$2

en el archivo .htaccess pero no me trabaja... y se que con el archivo .htaccess solamente no se hace ahi que hacer algo por la parte de php, pero no se hacerlo..
  #4 (permalink)  
Antiguo 11/12/2009, 11:36
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Como hacer URL amigables para este sitio

Sin embargo, fcmonier85 no se si lo sepas, pero este es uno de los principales problemas que tube al convertir url amigables de un sitio que estava haciendo, es que pensaba que las url amigables el archivo .htaccess las iba hacer aparecer en el navegador: eso es un error.

Tus enlaces son de la siguiente forma ahorita:
http://www.cadenagramonte.cu/campito/leer_noticia.php?id=11&tipo=2
Pero en ves de eso, tienes que ponerlas asi en TU pagina
http://www.cadenagramonte.cu/campito/11/2
Si asi lo quieres, pero tambien las puedes hacer asi
http://www.cadenagramonte.cu/campito/noticia/11/accion/2

Pero eso ultimo tiene problemas con google puesto que indicarias que hay muchos niveles en tu pagina y eso es un problema para google U_U

Luego de eso tu .htaccess te quedaria algo asi:

Código PHP:
Options +FollowSymLinks
RewriteEngine on

Rewriterule 
^campito/(.*)/(.*).htmlcampito/leer_noticia.php?id=$1&tipo=$
Pues eso es lo que te puedo ayudar, realmente no manejo mucho en esto de sobreescribir url, pero creo que he hecho mi aporte, investiga sobre .htacceess, pero lo prinipal aqui esque debes ser tu quien cambia las url para mostrarlas en el navegador(:
  #5 (permalink)  
Antiguo 11/12/2009, 11:37
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
  #6 (permalink)  
Antiguo 11/12/2009, 11:39
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Como hacer URL amigables para este sitio

Correcto! fcmonier85
Prueba con las dos reglas, con la tuya y con la mia, creo que la mia esta correcta pues incluye el directorio "campito/" pues nose, como esta la estructura de tu sitio,
ok, lo de php es sencill
deja las url como tu quieras, puedes hacerlo asi:
http://www.cadenagramonte.cu/campito/11/2 y sera bastante "amigable"
o
http://www.cadenagramonte.cu/campito/noticia/11/accion/2
(: cosa de gustos y de Google...lo digo por el posicionamiento
  #7 (permalink)  
Antiguo 11/12/2009, 11:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

Si en el archivo .htaccess acabo de ponerlo

Options +FollowSymLinks
RewriteEngine on

Rewriterule ^campito/(.*)/(.*).html$ campito/leer_noticia.php?id=$1&tipo=$2

y supuesta mente para esta URL: http://www.cadenagramonte.cu/campito/leer_noticia.php?id=29&tipo=1

deberia darme esta: http://www.cadenagramonte.cu/campito/29/1

pero en la URL manuel pongo esa URL(ya subido el .htaccess) de la forma explicada y no mepone nada que puede ser..

Nota: El sitio esta hehco desde 0 no se utiliza ningun CMSni nada por el estilo.

Saludos
  #8 (permalink)  
Antiguo 11/12/2009, 11:51
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

Si en el archivo .htaccess acabo de ponerlo

Options +FollowSymLinks
RewriteEngine on

Rewriterule ^campito/(.*)/(.*).html$ campito/leer_noticia.php?id=$1&tipo=$2

y supuesta mente para esta URL: http://www.cadenagramonte.cu/campito/leer_noticia.php?id=29&tipo=1

deberia darme esta: http://www.cadenagramonte.cu/campito/29/1

pero pongo la URL manual (ya subido el .htaccess) de la forma explicada y no mepone nada que puede ser..

Nota: El sitio esta hecho desde y no se utiliza ningun CMS ni nada por el estilo.
y me pone el siguiente error:

Not Found

The requested URL /campito/29/1 was not found on this server.


Saludos
  #9 (permalink)  
Antiguo 12/12/2009, 11:14
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Como hacer URL amigables para este sitio

Estas poniendo tu regla
^campito/(.*)/(.*).html

o sea que espera urls de la forma

/campito/29/1.html

y tu le estas dando

/campito/29/1
  #10 (permalink)  
Antiguo 13/12/2009, 11:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

si sierto, pero lo he probado y me hace lo sismo por ejemplo habro esta URL: http://www.cadenagramonte.cu/campito/leer_noticia.php?id=30&tipo=1 y con el archvo .htaccess lo tengo configurado de la siguiente forma

Options +FollowSymLinks
RewriteEngine on

Rewriterule ^campito/(.*)/(.*).html$ campito/leer_noticia.php?id=$1&tipo=$2

y pongo en la la URL: http://www.cadenagramonte.cu/campito/campito/30/1.html

y me sige dando este error

Not Found

The requested URL /campito/30/1.html was not found on this server.

por favor que podria ser....

Esta habilitado Rewriterule. y todo pero no se que podria ser.
  #11 (permalink)  
Antiguo 14/12/2009, 04:47
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Si has seguido todas las instrucciones, debería funcionarte.

¿Has tomado en cuenta lo primero que dijo Vitesse92?
Cita:
Iniciado por Vitesse92 Ver Mensaje
Sin embargo, fcmonier85 no se si lo sepas, pero este es uno de los principales problemas que tube al convertir url amigables de un sitio que estava haciendo, es que pensaba que las url amigables el archivo .htaccess las iba hacer aparecer en el navegador: eso es un error.

Tus enlaces son de la siguiente forma ahorita:
http://www.cadenagramonte.cu/campito/leer_noticia.php?id=11&tipo=2
Pero en ves de eso, tienes que ponerlas asi en TU pagina
http://www.cadenagramonte.cu/campito/11/2
...
A lo mejor me equivoco, pero creo que no.

mod_rewrite no es una herramienta mágica que nos cambia las URL sin más. Por ejemplo, para que en el navegador te salga

http://www.cadenagromonte.cu/campito/30/1

en vez de

http://www.cadenagramonte.cu/campito/leer_noticia.php?id=30&tipo=1

primero tienes que cambiar el enlace el el archivo php. Por ejemplo, si en el archivo php tienes esto:

www.cadenagramonte.cu/campito/leer_noticia.php?id=30&tipo=1

debes cambiarlo por esto otro:

www.cadenagramonte.cu/campito/30/1

O si tienes variables debes cambiar esto:

www.cadenagramonte.cu/campito/leer_noticia.php?id=$id&tipo=$tipo

por esto otro:

www.cadenagramonte.cu/campito/$id/$tipo

(Esto es solo un ejemeplo que debes adaptarlo al contexto de tu php).

Y después en el .htaccess debes poner esto:

RewriteRule ^campito/(.*)/(.*)$ campito/leer_noticia.php?id=$1&tipo=$2
  #12 (permalink)  
Antiguo 14/12/2009, 10:17
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

He puesto las cosa bien y no se pq no funciona... que rollo...

miren http://www.cadenagramonte.cu/campito/index.php ahi en la primera noticia ahi dos link de leer mas y el primero tiene la URL como debe ser pa UL amigbles y no funciona igual... que podria ser .......
  #13 (permalink)  
Antiguo 14/12/2009, 10:24
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Prueba a poner RewriteBase /campito después de RewriteEngine on
  #14 (permalink)  
Antiguo 14/12/2009, 10:52
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

igual sigue igual.

El sitio campito esta dentro de un directorio, es decir, http://www.cadenagramonte.cu seria el irectorio padre y dentro de el mismo esta la carperta campito que es un subsitio

Ejemplo: cadenagramonte/campito/(sitio del campito).

Digo esto pq quisas influye en algo.

y tengo en el archivo

Options +FollowSymLinks
RewriteEngine on RewriteBase /campito

RewriteBase RewriteRule ^campito/(.*)/(.*)$ campito/leer_noticia.php?id=$1&tipo=$2
  #15 (permalink)  
Antiguo 14/12/2009, 11:23
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Perdona pero se me olvidaba que tenías que borrar campito/ del .htaccess.

Y aparte tienes dos RewriteBase mal escritos:

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /campito
RewriteRule ^(.*)/(.*)$ leer_noticia.php?id=$1&tipo=$2
Por cierto, ¿dónde tienes puesto el .htaccess?
  #16 (permalink)  
Antiguo 14/12/2009, 11:31
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Y ahora que caigo, también puede ser que tu servidor esté configurado para que no acepte directivas en los .htaccess...
  #17 (permalink)  
Antiguo 14/12/2009, 11:35
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

.htaccess esta dentro de la carpeta cadenagramonte/campito/.htaccess

uan duda yo quiero crear el archivo asi pero no me deja y en lo qe ley en internet algunos lo ponen asi

htaccess.txt

esta bien eso...
  #18 (permalink)  
Antiguo 14/12/2009, 11:52
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Apache tomará htaccess.txt por válido si está configurado para ello.

En windows no se puede crear un archivo/carpeta que empiece por un punto (cosas de win...). Pero tienes dos opciones para poder usar un archivo .htaccess con ese mismo nombre:

  • Copiar uno que tengas a mano.
  • Si no tienes ninguno puedes usar este pequeño script en PHP que te creará uno:
Código PHP:
Ver original
  1. <?php
  2.  
  3. touch('.htaccess');
  4.  
  5. ?>
  #19 (permalink)  
Antiguo 14/12/2009, 12:14
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

ahora me da este error:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

joder com hay que hacer cosas...
  #20 (permalink)  
Antiguo 14/12/2009, 12:17
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Eso suele pasar cuando has escrito algo mal en el .htaccess
  #21 (permalink)  
Antiguo 14/12/2009, 12:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

pero es que lo tengo escrito de la siguiente manera

Options +FollowSymLinks
RewriteEngine on
RewriteBase /campito
RewriteRule ^(.*)/(.*)$ leer_noticia.php?id=$1&tipo=$2

me parece que ahi no hay nada mal... o si
  #22 (permalink)  
Antiguo 14/12/2009, 12:56
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Pues está todo bien...

Prueba esto para verifiar que tu servidor te permite tener directivas Rewrite...

En el archivo .htaccess (o en el que tenías antes, pruébalo con los dos):

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ http://www.google.es [R]


Prueba también sin la línea Options +FollowSymLinks con los dos archivos.

Si al acceder a tu página te redirecciona a Google es que te permite tener directivas.
  #23 (permalink)  
Antiguo 15/12/2009, 07:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

si le quito el Options +FollowSymLinks
me da este error

Forbidden

You don't have permission to access /campito/30/1 on this server.

en el .htaccess lo tengo asi

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^campito/(.*)/(.*)$ leer_noticia.php?id=$1&tipo=$2

que sera lo que puede estar pasando .....
  #24 (permalink)  
Antiguo 15/12/2009, 07:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

y si le doy al vinculo que tiene la URL: http://www.cadenagramonte.cu/campito/30/1 me da mal joder que trabajo para poder cambiar la URL
  #25 (permalink)  
Antiguo 15/12/2009, 12:49
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

Prueba con esto:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^campito/(.*)/(.*)$ http://www.cadenagramonte.cu/campito/leer_noticia.php?id=$1&tipo=$2


Por cierto, ¿probaste el ejemplo que puse antes con Google?
  #26 (permalink)  
Antiguo 16/12/2009, 06:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

di lo probe y trabajo de lo mejor.... me redirecciona para google... pero esto sigue sin pincharme ... podrias mandarme algun ejemplito que tengas para probarlo aqui en mi PC.

Que jodedera ... co esto.... y to por aparecer mejor en google jejeje

Saudos
  #27 (permalink)  
Antiguo 20/12/2009, 16:02
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

A ver si con estos ejemplos te funciona:

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /campito
RewriteRule ^(.*)/(.*)$ leer_noticia.php?id=$1&tipo=$2 [QSA,L]

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^campito/(.*)/(.*)$ campito/leer_noticia.php?id=$1&tipo=$2 [QSA,L]
  #28 (permalink)  
Antiguo 21/12/2009, 13:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

Muchas grasias serser ahora si me trabajo muy bien utilice esta
Options +FollowSymLinks
RewriteEngine on
RewriteBase /campito
RewriteRule ^(.*)/(.*)$ leer_noticia.php?id=$1&tipo=$2 [QSA,L]

y pincho elegantemente... gracias

ahora lo que tengo un problemas con las imagenes... como podria solucionar eso y disculpa tantas molestias

http://www.cadenagramonte.cu/campito/

hay un link en la primera noticia que es el que funciona con la URL amigable.
Gracias ..
  #29 (permalink)  
Antiguo 21/12/2009, 13:58
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer URL amigables para este sitio

No es ninguna molestia.

Tienes un problema con las imágenes y con los estilos. Esto normalmente se suele solucionar poniendo rutas absolutas para las imágenes, hojas de estilo, etc., o bien incluyendo la etiqueta <base> de HTML dentro del <head>.
  #30 (permalink)  
Antiguo 21/12/2009, 14:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 104
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como hacer URL amigables para este sitio

Lo qeu pasa es que parece que en al htacees hay que ponerle que no coja o algo parceido a siertas carpetas o isertos archivos.....

http://www.cadenagramonte.cu/campito/

por ejemplo esta noticia mira como se ve: http://www.cadenagramonte.cu/campito/35/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 06:41.