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

Problema con URL amigables

Estas en el tema de Problema con URL amigables en el foro de Apache en Foros del Web. Buen día! Tengo un problema con el archivo .htaccess para hacer url amigables, mi .htaccess es el siguiente: Options +FollowSymLinks <ifmodule mod_rewrite.c> RewriteEngine on #Página ...
  #1 (permalink)  
Antiguo 05/02/2013, 21:35
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Problema con URL amigables

Buen día!

Tengo un problema con el archivo .htaccess para hacer url amigables, mi .htaccess es el siguiente:

Options +FollowSymLinks

<ifmodule mod_rewrite.c>
RewriteEngine on

#Página inicio
RewriteRule ^$ index.php?mod=inicio [L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?mod=$1 [QSA]
RewriteRule ^articulo/(.*)?$ articulo/?id=$1 [NC,L]

</ifmodule>

Deseo que la url en los enlaces y en la barra de direcciones quede asi:
articulo/1
en ves de articulo?id=1

pero al escribir la url articulo/1 me salta error 500
Si podrían ayudarme y aclarar un poco el uso de %{SCRIPT_FILENAME}

Gracias!
  #2 (permalink)  
Antiguo 06/02/2013, 12:53
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problema con URL amigables

Cita:
Iniciado por eduardoe3 Ver Mensaje

pero al escribir la url articulo/1 me salta error 500
Si podrían ayudarme y aclarar un poco el uso de %{SCRIPT_FILENAME}

Gracias!
http://www.forosdelweb.com/f58/evita...3/#post4362388


en cuanto a tu regla no se sabe exactamente que querés
te pongo un ejemplo básico
Para que esto
http://midominio.com/articulo/xxxx
lleve a esto
http://midominio.com/index.php?mod=xxxx

Código Apache:
Ver original
  1. RewriteRule ^articulo/(.*)$ /index.php?mod=$1 [L]
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 06/02/2013, 13:04
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Problema con URL amigables

Muchas gracias por responder

Ahora me funcionan las url amigables, me han quedado de la siguiente forma:
http://mipagina.com/articulo/1.html
pero de esta forma no me carga las hojas de estilo ni el javascript, solamente si ingreso de esta forma:
http://mipagina.com/articulo?id=1

Mi .htaccess lo tengo asi:
Código Apache:
Ver original
  1. Options +FollowSymLinks
  2.  
  3. <ifmodule mod_rewrite.c>
  4. RewriteEngine on
  5.  
  6. #Página inicio
  7. RewriteRule ^$ index.php?mod=inicio [L]
  8.  
  9. RewriteCond %{SCRIPT_FILENAME} !-f
  10. RewriteCond %{SCRIPT_FILENAME} !-d
  11. RewriteRule ^([A-Za-z0-9-]+)?$ index.php?mod=$1 [QSA]
  12. RewriteRule ^articulo/(.*).html?$ index.php?mod=articulo&id=$1 [NC,L]
  13. </ifmodule>


Actualizado:
He leido en varias páginas que se debe sustituir las rutas relativas por rutas absolutas, lo he hecho pero me funciona parcialmente porque tanto los fondos y las fuentes (uso CSS3) no me las muestra.
¿Alguna solución?

Última edición por eduardoe3; 06/02/2013 a las 13:37 Razón: Actualización
  #4 (permalink)  
Antiguo 06/02/2013, 14:07
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problema con URL amigables

Esto, antes de tus condicionales
#Página inicio
RewriteRule ^$ index.php?mod=inicio [L]
tampoco


Esto no se aplica
RewriteRule ^([A-Za-z0-9-]+)?$ index.php?mod=$1 [QSA]

Para el inicio utilizá
DirectoryIndex index.php

Y en tu php, al inicio de la página un condicional que diga que si no hay query_string redirija a dónde quieras que inicie la página

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: amigables, htaccess, url
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 23:39.