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

ayuda con url amigables

Estas en el tema de ayuda con url amigables en el foro de Apache en Foros del Web. buenas. no se por donde empezar. estoy haciendo un proyecto de web de noticias. las noticias las muestro por los titulos. bueno eso ya es ...
  #1 (permalink)  
Antiguo 07/07/2009, 10:24
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
ayuda con url amigables

buenas. no se por donde empezar. estoy haciendo un proyecto de web de noticias. las noticias las muestro por los titulos. bueno eso ya es php. tengo mi htaccess para que me muestren el contenido de las noticias.

Código:
RewriteEngine on
RewriteRule ^noticia/(.+)/?$ noticia.php?noticia=$1
yo quiero que en el vinculo me muestre asi.

http://www.noticias.com/titulo-de-la-noticia. pero no logro conseguirlo.

mi pregunta es: esta bien hecho el htaccess.

por favor me pueden ayudar con las url amigables.
  #2 (permalink)  
Antiguo 07/07/2009, 10:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

Tu regla valdría si la URL fuera:
http://www.noticias.com/noticia/titulo-de-la-noticia

Si quieres quitar "noticia/" debes quitarlo de la regla y añadir una excepción con RewriteCond para los directorios y archivos reales.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/07/2009, 10:38
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

como lo realizo. es que la verdad no se utilizar mucho el .htaccess. por eso escribi mi pregunta para que me ayuden y me orienten.
  #4 (permalink)  
Antiguo 07/07/2009, 10:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

¿Cuál es exactamente la parte que no entiendes?

La excepción que mencioné es así:
Código:
# No capturar archivos
RewriteCond %{REQUEST_FILENAME} !-f
# No capturar directorios
RewriteCond %{REQUEST_FILENAME} !-d
Y en tu regla quitarle la parte de "noticia/"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 07/07/2009, 10:55
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

gracias por respoder a mi pregunta. lo que colocas en RewriteCond es en el segundo que no capture directorios.

asi como lo puse en el htaccess.

Código:
RewriteEngine on
RewriteRule ^noticia/(.+)/?$ noticia.php?noticia=$1
mi pregunta es como colocaria en el .htaccess.

Código:
# No capturar archivos
RewriteCond %{REQUEST_FILENAME} $ noticia.php?noticia=$1 !-f
# No capturar directorios
RewriteCond %{REQUEST_FILENAME} $ noticia.php?noticia=$1 !-d
asi esta bien como lo coloque. y mi otra pregunta es que significa -f y -d

saludos.

Última edición por xfer2; 07/07/2009 a las 10:55 Razón: correcion del texto.
  #6 (permalink)  
Antiguo 07/07/2009, 10:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

Si tu intención es dejarlo como está con "noticia/" no necesitas el RewriteCond. No obstante, la URL debe ser de la forma como indiqué en el primer mensaje.

En cuanto a dónde colocarlo y qué significan -f y -d puedes revisar el manual:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 07/07/2009, 11:06
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

bueno no quiero utilizar como esta en el .htaccess "/noticia".

como lo coloque en el RewriteCond

Código:
# No capturar archivos
RewriteCond %{REQUEST_FILENAME} $ noticia.php?noticia=$1 !-f
# No capturar directorios
RewriteCond %{REQUEST_FILENAME} $ noticia.php?noticia=$1 !-d
mi pregunta es: esta bien asi como lo estoy escribiendo para mostralo en el url

http://www.noticias.com/titulo-de-la-noticia

saludos y gracias.

Última edición por xfer2; 07/07/2009 a las 11:07 Razón: correcion del texto.
  #8 (permalink)  
Antiguo 07/07/2009, 11:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

No, las líneas del RewriteCond las debes dejar como está, sirven para evitar que con la regla se capture archivos que existan físicamente en el servidor. Esas líneas debes colocarlas justo antes de la regla en cuestión (Y debes quitar de tu regla la parte de "noticia/")
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 07/07/2009, 11:14
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

aya entiendo. entonces el codigo .htaccess seria de esta forma:

Código:
# No capturar archivos
RewriteCond %{REQUEST_FILENAME} !-f
# No capturar directorios
RewriteCond %{REQUEST_FILENAME} !-d

RewriteEngine on
RewriteRule (.*)\$ noticia.php?noticia=$1
saludos.
  #10 (permalink)  
Antiguo 07/07/2009, 11:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

RewriteEngine On debe ir antes de todo, Además, ¿por qué esa contrabarra "\"? (Tienes que dejarla como estaba, sólo quitar la parte de "noticia": ^(.+)/?$
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 07/07/2009, 11:29
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

entiendo. entonces lo coloco asi:

Código:
RewriteEngine on
# No capturar archivos
RewriteCond %{REQUEST_FILENAME} !-f
# No capturar directorios
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)/?$ noticia.php?noticia=$1
gracias y saludos.
  #12 (permalink)  
Antiguo 07/07/2009, 11:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

Exacto, así está correcto. ¿Funcionó de esa manera?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 07/07/2009, 12:24
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

si asi es. si funciona. pero hay pequeño detalle. en mi web de noticias hay menus que los listo con php. esos menus son categorias. las categorias con ultimas, nacional, mundo, deportes,, espectaculos, tecnologia, politica y economia. le coloque un vinculo para que me mostrara los detalles de esa categoria. bueno en eso no tengo problemas.

mi problema es cuando coloco el siguiente codigo:

Código:
RewriteEngine on
# No capturar archivos
RewriteCond %{REQUEST_FILENAME} !-f
# No capturar directorios
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)/?$ noticia.php?noticia=$1
RewriteRule ^(.+)/?$ categorias.php?categoria=$1 #aqui.
lo subo al servidor y cuando reresco la web, se desaparece los estilos del inicio de la pagina, las imagenes y los js.

porque sucede eso.

esa es mi pregunta.

saludos.

Última edición por xfer2; 07/07/2009 a las 12:25 Razón: correcion del texto.
  #14 (permalink)  
Antiguo 07/07/2009, 12:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con url amigables

No puedes usar ambas reglas. Debes decidir si apuntar a noticia.php o a categorias.php ya que ambas reglas se "pisan".

Por otro lado, si ingresas una URL como: titulo-noticia/ se perderán los estilos, etc. a menos que uses rutas absolutas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 07/07/2009, 12:40
(Desactivado)
 
Fecha de Ingreso: junio-2009
Mensajes: 256
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con url amigables

entiendo. cuando se refiere a que ambas reglas se "pisan", es decir que tiene que funcionar uno de las 2 lineas.
en el otro archivo si uso rutas absolutas.

gracias y saludos.

Última edición por xfer2; 07/07/2009 a las 12:44 Razón: correcion del texto.
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 08:43.