elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:18  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !  (Leído 3,478 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
[mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« en: 30 Enero 2011, 07:20 »

Buen dia.

Quiero implementar las URLs amigables, pero tengo problemas para que funcione bien la visualizavion del sitio, vaya, mi blog actualmente se visualiza bien en todos los aspectos (el style, las imagenes, etc..), y las URLs ya las hice amigables.

Como invocaba mis URLs
Antes hacia esto:

http://miblog.com/?hoja=numerodenoticia  <--- asi accedes a una noticia
http://miblog.com?ver=numerodecategoria <--- asi entraba a una sección del menu principal (o cualquier otro)

Asi que, implemente esto:

Código:
# Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.+)$ index.php
RewriteRule ^hoja/(.+)\-(.+)\.html$ ?hoja=$1
RewriteRule ^(.+)/$ ?ver=$1

El problema es que no he podido probado las urls amigables porque una vez guardo el codigo que les puse arriba como .htaccess, mi localhost se muestra como si el style.css hubiera desaparecido y las URLs a las imagenes que muestro (mis iconos del template) tampoco aparecen :(

Alguna idea ?


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #1 en: 30 Enero 2011, 21:06 »

Eso se debe a esta linea:

Código:
RewriteRule ^(.+)$ index.php

aplicando el siguiente source:

Código
<?php
echo $_GET['a'];
?>
<IMG src="http://4.bp.blogspot.com/_rQMq1b0XzMQ/SruwfnMEOkI/AAAAAAAAIs4/RolWe9IreT4/s400/pikachu.gif" width="299" height="294" align="left" border="0">

Te recomiendo hacer las reglas mas estrictas y exactas.


En línea

bomba1990


Desconectado Desconectado

Mensajes: 383



Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #2 en: 31 Enero 2011, 00:11 »

bueno, yo tambien tuve un problema parecido una ves es devido a que el sistema cree que esta en otra carpeta diferente a la que es, eso se acomoda podiendo la direccion completa de los archivos.
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #3 en: 31 Enero 2011, 07:02 »

bueno, yo tambien tuve un problema parecido una ves es devido a que el sistema cree que esta en otra carpeta diferente a la que es, eso se acomoda podiendo la direccion completa de los archivos.

Mmmmm no creo que las cosas vayan por hay, por que las direcciones de las imagenes no se han tocado, ademas, simplemente quito el .htaccess y todo vuelve a la normalidad.



Eso se debe a esta linea:

Código:
RewriteRule ^(.+)$ index.php

aplicando el siguiente source:

Código
<?php
echo $_GET['a'];
?>
<IMG src="http://4.bp.blogspot.com/_rQMq1b0XzMQ/SruwfnMEOkI/AAAAAAAAIs4/RolWe9IreT4/s400/pikachu.gif" width="299" height="294" align="left" border="0">

Te recomiendo hacer las reglas mas estrictas y exactas.

Entonces quito la linea de RewriteRule ^(.+)$ index.php, pero despues que mas ?... digo, porque no entiendo lo del code que me pones, veo que es una URL a una imagen GIF, pero que con eso ?, estas mostrandome que la URL es mas estricta (larga y compleja) o que ?...

Saludos !

--- EDITADO ---

Ya he quitado la linea que me mencionaste y el sitio ya se visualiza bien !...

Pero aun no se desplega el contenido :(, vaya, sera porque estoy en mi localhost ?...

Mira, he quitado la linea que dijiste, guarde el .htaccess y tengo una URL comun asi:

http://localhost/diabliyo/onefloor/?hoja=yq4vopsgvz

Ahora, escribo directamente en el navegador lo siguiente: http://localhost/diabliyo/onefloor/hoja/yq4vopsgvz-bla_bla_bla.html

Y no sale el contenido, marca error :( (Not Found)... se supone que deberia concidir la siguiente linea en el .htaccess e interpretar:

Código:
RewriteRule ^hoja/(.+)\-(.+)\.html$ ?hoja=$1

Seria: hoja/ID-tituloo.html
Y lo pasa ha: ?hoja=ID

Saludos !
« Última modificación: 31 Enero 2011, 07:09 por Diabliyo » En línea

ohk


Desconectado Desconectado

Mensajes: 1.578


Some times I think i'm crazy, I'm crazy o so crazy


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #4 en: 31 Enero 2011, 15:50 »

La solución es muy simple, debes utilizar rutas completas.
Si invocabas a tu hoja de estilos asi:

Código
include('includes/style.css')
 

Ahora debes cambiarlo mas o menos asi:

Código
include('http://www.tudominio.com/includes/style.css')
 

algo asi, nose si me dejo entender, pero ruta completa (absoluta)!
En línea

Y es que a veces pienso, que si no estubiera loco, no podría salir adelante.
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #5 en: 31 Enero 2011, 16:48 »

Ok entonces rectifico...

Mi htaccess esta asi:

Código:
RewriteEngine on
# RewriteRule ^(.+)$ index.php
RewriteRule ^hoja/(.+)\-(.+)\.html$ ?hoja=$1
RewriteRule ^(.+)/$ ?ver=$1

Y he generado las URLs completas, donde:

Para Imágenes y Estilos quedo: http://sitio.com/url/cosa.jpg (o cosa.css).
Para los includes PHP debe persistir el enlace interno así: carpeta/archivo.php

Ahora mi sitio se ve bien, el style, las imagenes y se cargan los inclued, EL PROBLEMA es que intento acceder a a una noticia y no se puede :(

Vaya, digamos tengo esta noticia que accede bien con URL NO-amigable que es:

http://misitio.com/?hoja=IDNOTICIA

Y directamente en el navegador escriba la URL Amigable que es:

http://misitio.com/hoja/IDNOTICIA-titulo_de_la_noticia.html

Y dice: Not Found :(
« Última modificación: 31 Enero 2011, 17:08 por Diabliyo » En línea

ohk


Desconectado Desconectado

Mensajes: 1.578


Some times I think i'm crazy, I'm crazy o so crazy


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #6 en: 31 Enero 2011, 16:58 »

mmm, hay algo que falto explicarte, debes hacer que el php interprete la ruta que escribes en el navegador y lo traduzca a la ruta normal o de lo contrario que de la ruta normal traduzca a la ruta amigable, yo tenia un codigo por ahi, si lo pillo lo subo.
En línea

Y es que a veces pienso, que si no estubiera loco, no podría salir adelante.
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #7 en: 31 Enero 2011, 17:02 »

mmm, hay algo que falto explicarte, debes hacer que el php interprete la ruta que escribes en el navegador y lo traduzca a la ruta normal o de lo contrario que de la ruta normal traduzca a la ruta amigable, yo tenia un codigo por ahi, si lo pillo lo subo.

Tengo mi code que muestra la URL amigable, crea el LINK con la url amigable, pero para la parte de traduccion se supone que mod_rewrite para eso sirven las lineas estas no ?:

Código:
RewriteRule ^hoja/(.+)\-(.+)\.html$ ?hoja=$1
RewriteRule ^(.+)/$ ?ver=$1

Mi code para hacer urls amigables es mas o menos asi:

Código
<?php
# OJO es un ejemplo, no es el codigo real, ya que es mas largo

$cons= mysql_query( ..... ); # consultamos noticias
$buf= mysql_fetch_array($cons);
echo '<a href="'. url_amigable($buf["ID"], $buf["TITULO"]). '">Leer Noticia</a>';
 
function url_amigable( $id, $titulo )
    {
    $t= clean($titulo); # sustituye simbolos/espacios/puntos/comas por _ y los caracteres acentuados por el caracter SIN acento
    return 'http://blog.com/hoja/'. $id. '-'. $t. '.html';
    }
?>

Saludos !
« Última modificación: 31 Enero 2011, 17:21 por Diabliyo » En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #8 en: 31 Enero 2011, 18:28 »

*&^%$#@.,.,.....

Me equivoque :(, hice pruebas sin el htaccess (por desesperacion), pero confirmo que continua sin cargar el style y vaya que mi htacces es este:

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.+)$ index.php
RewriteRule ^hoja/(.+)\-(.+)\.html?$ index.php?hoja=$1
RewriteRule ^(.+)/?$ index.php?ver=$1
# ServerSignature Off

Y la URL de las imagenes y estilos (CSS) estan completas, vaya, si me voy a Ver el Codigo Fuente (en el navegador) se puede leer la URL compelta (http://sitio.com/carpeta/archivo.jpg o http://sitio.com/estilo/css.css)

Pero continua sin verse los estilos :(...

El blog es este: http://lab.sie-group.net, pueden tambien corroborar que ya estoy usando la funcion url_amigable() (que mencione arriba) y que efectivamente me traduce la URL a este formato: http://sitio.com/hoja/IDNOTICIA-titulo_de_noticia.html

Saludos !

--- EDITADO ---

Fijense que si quito la linea de RewriteRule ^(.+)$ index.php el sitio se despliega bien (con los styles e imagenes), pero continua el problema de la url amigable, sale Not Founf.
« Última modificación: 31 Enero 2011, 19:38 por Diabliyo » En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.187



Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #9 en: 31 Enero 2011, 20:42 »

Código
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

te servira eso? quiere decir "para que pase las variables a index.php, la variable no tiene que ser un archivo ni un directorio"

tendria que quedar asi:

Código
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine on
RewriteRule ^hoja/(.+)\-(.+)\.html?$ index.php?hoja=$1
RewriteRule ^(.+)/?$ index.php?ver=$1
« Última modificación: 31 Enero 2011, 20:44 por Castg! » En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #10 en: 31 Enero 2011, 20:50 »

Castg!

Fijate que sigo obteniendo Not Found :(... Este es mi htaccess:

Código:
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine on
# RewriteBase /
# RewriteRule ^(.+)$ index.php
# RewriteRule . /index.php [L]
RewriteRule ^(.+)/$ index.php?ver=$1
RewriteRule ^hoja/(.+)\-(.+)\.html$ index.php?hoja=$1

El sitio se visualiza bien los estilos y todo, pero no encuentra la URL amigable (checalo, esta ON ahorita en mi blog).

Por otra parte, si descomento la linea 5 y 7, las URL amigables funcionan, pero no desplega el contenido de la noticia ya demas sucede algo muy raro, TODOS LOS ENLACES tienen el nombre de la URL AMIGABLE a la que se le dio click :S

Saludos !

--- EDITADO ---

Las lineas 5 y 7:

Código:
# RewriteBase /
# RewriteRule . /index.php [L]

Las saque de un blog donde al parecer el usuario resolvio su problema, lo raro es que a mi no me funciona :(, ademas di con ese blog debido a que tambien tiene hosting en GoDaddy, pero no se si haga diferencia porque mi Hosting es Web y NO es compartido.

Este es Manual

--- EDICION 2 ---

Listo ya interpreta perfecto xD... quedo asi el htaccess:

Código:
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine on
RewriteBase /
RewriteRule ^(.+)/$ index.php?ver=$1
RewriteRule ^hoja/(.+)\-(.+)\.html$ index.php?hoja=$1

No se si estos cambios son especiales para el hosting de GoDaddy y funcione sin problema en cualquier otro hosting, pero me funciona bien asi !
« Última modificación: 31 Enero 2011, 21:09 por Diabliyo » En línea

darkangel4

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #11 en: 9 Enero 2012, 08:19 »

Hola me gustaria saber si es necesario modificar el codigo PHP para que funciones el mod_rewrite o solamente es necesario el htaccess??? encontre este codigo pero no me funciona en mi web que estoy implementando mi web es

http://www.evocero.com

achivo htaccess

Options +FollowSymLinks
Options -MultiViews
RewriteEngine on
#4 variables
Rewriterule ^(.*)/(.*)-(.*)/(.*)-(.*)/(.*)-(.*)/(.*)-(.*)/$ $1.php?$2=$3&$4=$5&$6=$7&$8=$9 [L]
#3 variables
Rewriterule ^(.*)/(.*)-(.*)/(.*)-(.*)/(.*)-(.*)/$ $1.php?$2=$3&$4=$5&$6=$7 [L]
#2 variables
Rewriterule ^(.*)/(.*)-(.*)/(.*)-(.*)/$ $1.php?$2=$3&$4=$5 [L]
#1 variable
Rewriterule ^(.*)/(.*)-(.*)/$ $1.php?$2=$3 [L]


Alguna idea porfavor para que la url amigable sea como la misama que aparece en el bara de Titulo. como en este sitio web???? gracias de antemano.
En línea
Diabliyo


Desconectado Desconectado

Mensajes: 1.270


M.S.I Angel Cantu


Ver Perfil WWW
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #12 en: 9 Enero 2012, 21:58 »

Checa mi post que esta por encima del tuyo.. al final le puse como solucione el problema, lo mismo debes hacer tu.

Saludos !
En línea

darkangel4

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #13 en: 10 Enero 2012, 03:52 »

gracias por a intentarlo.
En línea
luis108

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien !
« Respuesta #14 en: 7 Mayo 2012, 02:22 »

PD : YA LO SOLUCIONE MI PROBLEMA XD
« Última modificación: 7 Mayo 2012, 17:51 por luis108 » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con mod_rewrite
Desarrollo Web
alone-in-the-chat 7 520 Último mensaje 18 Agosto 2006, 07:46
por merolhack
Urls Amigables (solo con el titulo)
PHP
Alex_bro 5 1,434 Último mensaje 23 Agosto 2007, 00:51
por Alex_bro
como hacer URLs amigables como directorios con .htacces?
Desarrollo Web
Azielito 13 2,294 Último mensaje 27 Mayo 2009, 19:57
por Azielito
Programa para listar las URLs de un sitio???
Hacking Básico
4rkn63l 0 569 Último mensaje 13 Mayo 2009, 19:46
por 4rkn63l
[API Facebook + Url Amigables] Problema para implementacion !
PHP
Diabliyo 0 1,304 Último mensaje 25 Agosto 2011, 23:45
por Diabliyo
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines