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

¿MySQL y .htaccess?

Estas en el tema de ¿MySQL y .htaccess? en el foro de Apache en Foros del Web. Hola a todos (: Tengo una pequeña duda que quiero aclarar, estuve siguiendo un curso de PHP y MySQL apoyado con Dreamweaver, el cual a ...
  #1 (permalink)  
Antiguo 04/01/2013, 16:09
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
¿MySQL y .htaccess?

Hola a todos (: Tengo una pequeña duda que quiero aclarar, estuve siguiendo un curso de PHP y MySQL apoyado con Dreamweaver, el cual a la mitad del curso es de paga y solamente me interesó la sección de las URLs amigables.

Bien, pude observar que en la base de datos y en el formulario puso un campo llamado "SEO" en el cual escribía una URL, ejemplo:

"lanzamiento-de-nueva-consola"

Seguí todas las instrucciones y mi web genera una URL algo así:

"http://localhost/info.php?recordID=16"

Y francamente me gustaría que se generara la URL que mencioné antes y no sé si funcione correctamente con el .htaccess ¿Alguien que me pueda auxiliar con ésto?

Saludos.
  #2 (permalink)  
Antiguo 06/01/2013, 23:35
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: ¿MySQL y .htaccess?

esos datos son algo vagos, las urls amigables basicamente se consiguen con las directivas
RewriteRule en .htaccess. Tu ejemplo es limitado, y no sería muy dinámico, habría que hacer una regla por url

te quedaría algo asi
Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^lanzamiento-de-nueva-consola$ /info.php?recordID=16 [L]

Podrías usar una variable aprovechando el id de la tabla
Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^(.*)/(.*)$ /info.php?recordID=$1 [L]

y construir tu url como

http://dominio.com/16/lanzamiento-de-nueva-consola

y recibir el recodID x $_GET en info.php, quien se encargaría de mostrar el contenido correspondiente, y asi con el resto de los registros
http://dominio.com/17/otra-cosa
http://dominio.com/18/otro-articulo
etc

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

Última edición por emprear; 13/01/2013 a las 15:33 Razón: ortografía
  #3 (permalink)  
Antiguo 10/01/2013, 23:39
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: ¿MySQL y .htaccess?

Bueno, no soy experto, pero puse la segunda opción que mencionas dentro del archivo .htaccess y me da este error:

Cita:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
  #4 (permalink)  
Antiguo 11/01/2013, 00:03
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: ¿MySQL y .htaccess?

asegurate que tu .htaccess este guardado en el editor como utf-8 sin BOM y verificá que mod_rewrite este habilitado en tu 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 11/01/2013, 00:54
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: ¿MySQL y .htaccess?

Ya habilité el mod_rewrite, pero me sigue generando las mismas URLs S: Ya probé los dos métodos que publicaste.
  #6 (permalink)  
Antiguo 11/01/2013, 05:30
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: ¿MySQL y .htaccess?

Cita:
Iniciado por Shikari Ver Mensaje
Ya habilité el mod_rewrite, pero me sigue generando las mismas URLs S: Ya probé los dos métodos que publicaste.
Usé las mismas expresiones y funciona, demo:
http://mr9.emprear.com/inx.html

No sé que estás haciendo exactamente
SAludos

PD: la demo la voy a mantener solo por unos días
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 11/01/2013, 13:03
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: ¿MySQL y .htaccess?

Bueno, primeramente, copié este código:

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^(.*)/(.*)$ /info.php?recordID=$1 [L]

Lo pegué en un archivo .txt llamado htaccess, lo subí a la carpeta donde tengo el proyecto, le cambié la extensión a .htaccess

¿Hay algo más que tenga que hacer?
  #8 (permalink)  
Antiguo 11/01/2013, 13: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: ¿MySQL y .htaccess?

Repasemos
Tu servidor tiene que ser Apache
El nombre del archivo es

.htaccess

debe ser guardado por tu editor de texto con la codificación utf-8 y sin marca de BOM (without signature)
Ahora pregunto, no te funciona ó seguís obteniendo un "error 500"

El módulo modRewrite debe de estar habilitado (eso solo puede hacerlo el administrador del sistema)

Tenés que tener habilitado el uso de .htaccess (solo el administrador puede hacerlo)

Con esos requisitos cumplidos debería funcionar, tal cual te lo muestro en mi demo

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 11/01/2013, 14:10
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: ¿MySQL y .htaccess?

Esto no me queda claro:
Cita:
debe ser guardado por tu editor de texto con la codificación utf-8 y sin marca de BOM (without signature)
Ahora pregunto, no te funciona ó seguís obteniendo un "error 500"
Ahora lo que hace es deshabilitarme el CSS, aquí un ejemplo;

http://pkdream.herobo.com/Oficial/

Edit:
No sé si tenga que ver que todo lo que se ve en index proviene de un include:
Código PHP:
Ver original
  1. <?php include('Includes/Noticias.php'); ?>

Última edición por Shikari; 11/01/2013 a las 15:27
  #10 (permalink)  
Antiguo 11/01/2013, 16:10
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: ¿MySQL y .htaccess?

Cita:
Iniciado por Shikari Ver Mensaje
Esto no me queda claro:


Ahora lo que hace es deshabilitarme el CSS, aquí un ejemplo;

http://pkdream.herobo.com/Oficial/
Bien, eso ya es un progreso.
Te explico, que dice la regla
^(.*)/(.*)$
algo más / mas algo, es decir
css/estilo.css
la regla se cumple y te dirije a info.php, hay varias soluciones, una de ellas es agregar otras 2 reglas

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. # agregado
  4. RewriteCond %{SCRIPT_FILENAME} !-d  
  5. RewriteCond %{SCRIPT_FILENAME} !-f
  6. #######
  7. RewriteRule ^(.*)/(.*)$ /info.php?recordID=$1 [L]


esto significa

### si no es un archivo existente
RewriteCond %{SCRIPT_FILENAME} !-d
# si no es un directorio existente
RewriteCond %{SCRIPT_FILENAME} !-f
#entonces aplicamos
RewriteRule ^(.*)/(.*)$ /info.php?recordID=$1 [L]

Por ejemplo, si tu archivo de estilos estuviese directamente en la raiz, el problema no se hubiera producido. El mismo prtoblema se repetiria ya sea con imágenes, javascript o lo que fuese que cumpliese con
algo/algo

La gran clave para esto de las urls amigables es, según mi opinion, pensar cuidadosamente la estructura antes y luego crear las reglas apropiadas

Para completar, otro ejemplo, como la primera parte de la expresión del rewriteRule es una expresión regular, esta regla te solucionaría el problema

^([0-9])/(.*)$
solo afectaría a numero/algo , que era el ejemplo que planteamos inicialmente, claro que si se te ocurriese poner los css en una carpeta llamada 23, volveríamos a tener un problema.
Bueno, hasta acá puedo explicarte, si te interesa, googlea por tutoriales, que hay muchos y buenos

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

Etiquetas: htaccess, mysql
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 10:39.