Autor
|
Tema: [mod_rewrite] URLs amigables, problema para que el sitio se vea bien ! (Leído 12,934 veces)
|
Diabliyo
Desconectado
Mensajes: 1.441
shell# _
|
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 URLsAntes 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: # 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
Mensajes: 1.125
|
Eso se debe a esta linea: RewriteRule ^(.+)$ index.php aplicando el siguiente source: <?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
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
bomba1990
|
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
|
|
|
|
Diabliyo
Desconectado
Mensajes: 1.441
shell# _
|
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: RewriteRule ^(.+)$ index.php aplicando el siguiente source: <?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=yq4vopsgvzAhora, escribo directamente en el navegador lo siguiente: http://localhost/diabliyo/onefloor/hoja/yq4vopsgvz-bla_bla_bla.htmlY no sale el contenido, marca error (Not Found)... se supone que deberia concidir la siguiente linea en el .htaccess e interpretar: 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 am por Diabliyo »
|
En línea
|
|
|
|
:ohk<any>
Desconectado
Mensajes: 1.744
Yo lo que quiero que me salga bien es la vida.
|
La solución es muy simple, debes utilizar rutas completas. Si invocabas a tu hoja de estilos asi: include('includes/style.css')
Ahora debes cambiarlo mas o menos asi: 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 estuviera loco no podría salir adelante. Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
|
|
|
Diabliyo
Desconectado
Mensajes: 1.441
shell# _
|
Ok entonces rectifico... Mi htaccess esta asi: 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.phpAhora 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=IDNOTICIAY directamente en el navegador escriba la URL Amigable que es: http://misitio.com/hoja/IDNOTICIA-titulo_de_la_noticia.htmlY dice: Not Found
|
|
« Última modificación: 31 Enero 2011, 17:08 pm por Diabliyo »
|
En línea
|
|
|
|
:ohk<any>
Desconectado
Mensajes: 1.744
Yo lo que quiero que me salga bien es la vida.
|
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 estuviera loco no podría salir adelante. Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
|
|
|
Diabliyo
Desconectado
Mensajes: 1.441
shell# _
|
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 ?: RewriteRule ^hoja/(.+)\-(.+)\.html$ ?hoja=$1 RewriteRule ^(.+)/$ ?ver=$1 Mi code para hacer urls amigables es mas o menos asi: <?php # OJO es un ejemplo, no es el codigo real, ya que es mas largo 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 pm por Diabliyo »
|
En línea
|
|
|
|
Diabliyo
Desconectado
Mensajes: 1.441
shell# _
|
*&^%$#@.,.,..... Me equivoque , hice pruebas sin el htaccess (por desesperacion), pero confirmo que continua sin cargar el style y vaya que mi htacces es este: 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.htmlSaludos ! --- 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 pm por Diabliyo »
|
En línea
|
|
|
|
Castg!
Wiki
Desconectado
Mensajes: 1.191
|
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: 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 pm por Castg! »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
on() de jquery+htaccess+urls amigables... no consigo hacerlo...
Desarrollo Web
|
NataliaV
|
3
|
3,170
|
17 Septiembre 2012, 20:34 pm
por MinusFour
|
|
|
problema urls amigables...
PHP
|
Rk_PetIT
|
0
|
1,561
|
2 Agosto 2013, 00:35 am
por Rk_PetIT
|
|
|
urls amigables htaccess
Programación General
|
sirkiu
|
1
|
2,028
|
11 Diciembre 2015, 19:48 pm
por sirkiu
|
|
|
Problema con url amigables
Desarrollo Web
|
carwar
|
2
|
2,300
|
16 Septiembre 2017, 02:19 am
por carwar
|
|
|
[APORTE]: Cómo usar urls amigables con el servidor web incorporado a PHP
PHP
|
mchojrin
|
0
|
1,630
|
19 Julio 2019, 00:54 am
por mchojrin
|
|