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

Problema con .htaccess url amigable

Estas en el tema de Problema con .htaccess url amigable en el foro de Apache en Foros del Web. Buenas noches. He estado buscando por el foro, la manera de hacer un .htaccess en mi web pero no ha habido manera de que me ...
  #1 (permalink)  
Antiguo 09/04/2013, 15:21
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Pregunta Problema con .htaccess url amigable

Buenas noches.

He estado buscando por el foro, la manera de hacer un .htaccess en mi web pero no ha habido manera de que me funcione, ahora mismo lo he borrado para que pudierais acceder. Os explico:

Yo tengo las siguientes direcciones en mi web:
http://www.jdelsaz.com/index.php
http://www.jdelsaz.com/proyectosEmpresas.php
http://www.jdelsaz.com/proyectosFreelance.php
http://www.jdelsaz.com/proyectosPropios.php

De las cuales todas las rutas, pueden tener o no paginación. En la que seguro ahora mismo se encuentra paginación es en index.php y en proyectosEmpresas.php, las cuales sus direcciones serían:
http://www.jdelsaz.com/index.php?_pagi_pg=1
http://www.jdelsaz.com/proyectosEmpresas.php?_pagi_pg=1

Para crear el .htaccess yo he creado la siguiente regla, que deberá de estar mal porque ahora os digo el error que muestra:
Código:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^/([a-z])/pagina/(0-9)$ $1.php?_pagi_pg=$2 [NC,L]
El error mostrado es 500 Internal Server Error Intente entrar en la dirección que intente. Ya sea simplemente en http://www.jdelsaz.com o http://www.jdelsaz.com/index/2 que es como debería salir o al menos es lo que intento.

La forma en la que quiero que salga es http://www.jdelsaz.com/index/pagina/1 o http://www.jdelsaz.com/proyectosEmpresas/pagina/1

También me gustaría saber si meter entre medias "pagina" será bueno o malo para el SEO.

Espero respuesta, saludos y muchas gracias!
  #2 (permalink)  
Antiguo 10/04/2013, 08:50
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema con .htaccess url amigable

utilizá esta expresión

Código:
^([a-z]+)/pagina/([0-9]+)$
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 10/04/2013, 13:47
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema con .htaccess url amigable

Cita:
Iniciado por emprear Ver Mensaje
utilizá esta expresión

Código:
^([a-z]+)/pagina/([0-9]+)$
Saludos
Buenas! Lo primero gracias por responder.

He probado con lo que me has dicho poniendo lo siguiente (lo que tenía más tu expresión):

Código PHP:
Options +FollowSymLinks
RewriteEngine on
RewriteBase 
/
RewriteRule ^([a-z]+)/pagina/([0-9]+)$ $1.php?_pagi_pg=$[NC,L
El resultado sigue siendo el mismo, error 500. También he probado solo la expresión que me escribiste y nada, tampoco funciona =(

Saludos.
  #4 (permalink)  
Antiguo 10/04/2013, 14:04
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema con .htaccess url amigable

errores en la sintáxis no veo.
las dos razones más probables
1. Al guardar el archivo en tu editor de texto, lo hiciste con codificación utf-8 con BOM(with signature), guardalo como utf-8 SIN BOM
2. Tu servidor no tiene habillitado mod_rewrite, incluí tus drectivas dentro de un bloque <ifModule>


Código:
<IfModule mod_rewrite.c>  
RewriteEngine on 
RewriteBase / 
RewriteRule ^([a-z]+)/pagina/([0-9]+)$ $1.php?_pagi_pg=$2 [NC,L]  
</IfModule>
Si no está habilitado no te van a funcionar, pero el error 500 no se va a producir. Al menos descartás algo.
Si aún asi genera error, no se, es alguna config extraña en el server
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 10/04/2013, 15:45
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema con .htaccess url amigable

Cita:
Iniciado por emprear Ver Mensaje
errores en la sintáxis no veo.
las dos razones más probables
1. Al guardar el archivo en tu editor de texto, lo hiciste con codificación utf-8 con BOM(with signature), guardalo como utf-8 SIN BOM
2. Tu servidor no tiene habillitado mod_rewrite, incluí tus drectivas dentro de un bloque <ifModule>


Código:
<IfModule mod_rewrite.c>  
RewriteEngine on 
RewriteBase / 
RewriteRule ^([a-z]+)/pagina/([0-9]+)$ $1.php?_pagi_pg=$2 [NC,L]  
</IfModule>
Si no está habilitado no te van a funcionar, pero el error 500 no se va a producir. Al menos descartás algo.
Si aún asi genera error, no se, es alguna config extraña en el server
SAludos
Vale perfecto era por el programa con el que lo estaba haciendo, ahora si que me carga con las url amigables pero hay un error más!

Ahora al cargar la página, no me salen los estilos cuando cambio de página, como puedo arreglar este otro fallo? Obviamente aunque está la regla no lo dejo cambiados los links para que puedan acceder, una url de prueba sería: http://jdelsaz.com/index/pagina/1

Saludos y muchas gracias!

Última edición por jdelsaz; 10/04/2013 a las 15:51
  #6 (permalink)  
Antiguo 10/04/2013, 17:05
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema con .htaccess url amigable

Leé este hilo
http://www.forosdelweb.com/f58/afinar-htaccess-1046103/
En particular el último post y mirá el ejemplo asociado
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 11/04/2013, 11:35
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema con .htaccess url amigable

Solucionado añadiendo al meta tag la siguiente linea:
<base href="http://www.jdelsaz.com" />

La linea que me digiste no funcionó:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

Lo puse entre RewriteBase y RewriteRule por si no estubiera bien.

No cierro el post por si hay alguna mejor solución, sino diganme y cierro.

Saludos y 1000 gracias.

Etiquetas: htaccess, mod_rewrite, php, rewriterule
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 14:14.