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

url amigables

Estas en el tema de url amigables en el foro de Apache en Foros del Web. Hola A ver, estoy liado con la creación de url amigables. Por un lado he habilitado mod_rewrite , por otro lado, he creado un archivo ...
  #1 (permalink)  
Antiguo 30/10/2010, 06:13
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
url amigables

Hola

A ver, estoy liado con la creación de url amigables.
Por un lado he habilitado mod_rewrite, por otro lado, he creado un archivo .htaccess con una regla muy simple, con la cual tampoco lo he logrado.
Bueno tengo un archivo con un liga
Cita:
<html>
<head>
</head>
<body>
<a href="./index/una-prueba.html">vinculo</a>
</body>
</html>
cuando clickeo sobre la liga me lleva a ./index/una-prueba.html, lo cual me levanta error 404.
En el archivo .htaccess tengo esta regla
Cita:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^index/(.+)\.html$ index.php?variable=$1
los tres archivos los tengo en el mismo directorio (htdocs)
¿Qué estoy haciendo mal?

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 01/11/2010 a las 16:41
  #2 (permalink)  
Antiguo 30/10/2010, 06:57
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 16 años
Puntos: 12
Respuesta: url amigables

Hola.. par aempezar el .htaccess tiene que estar en la raiz principalñ del site... (si esta ahi perfecto)...

ahora si la variable a pasar por url seria "una-prueba"

RewriteRule ^index/([0-9]*)(.*).html$ index.php?variable=$2 [QSA]

fijate si asi te funciona y decime... la hice rapido....
  #3 (permalink)  
Antiguo 30/10/2010, 08:15
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: url amigables

Gracias por responder

Continua sin funcionar. Como estoy trabajando en local, htdocs es la raíz. Por otro lado, el primer grupo de la expresión no lo entiendo, pero ahí no está problema. Tal vez es que he creado mal el archivo .htaccess, te comento. Creé un documento con el contenido que expuse en mi primer post, con Notepad++, a este archivo le di el nombre htaccess.htaccess y lo guardé como All Types. Me creo un archivo con el nombre htaccess y con la extensión Archivo HTACCESS
¿Es correcto?
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 30/10/2010, 08:36
Avatar de igualacero  
Fecha de Ingreso: septiembre-2010
Mensajes: 296
Antigüedad: 14 años, 3 meses
Puntos: 16
Respuesta: url amigables

YO le tengo realizado en mi web y el nombre del archivo es solo el punto y luego htaccess
seria asi .htaccess
__________________
igualacero
  #5 (permalink)  
Antiguo 30/10/2010, 08:53
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 16 años
Puntos: 12
Respuesta: url amigables

como dice igualacero, el archivo tiene que tener ese nombre .htaccess dentro del mismo con solo poner esto te tendria que funcionar:

Código:
RewriteEngine on
RewriteRule ^index/([0-9]*)(.*).html$ index.php?variable=$2 [QSA]
  #6 (permalink)  
Antiguo 30/10/2010, 13:37
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: url amigables

Hola

He hecho lo que decís y ocurren dos cosas
  • El archivo .htaccess se crea con la misma extensión, pero sin nombre, aunque cuando lo edito y guardo los cambios, me aparece la leyenda ¿Guardar cambios a .htaccess?
  • Y mas importante aún, continua sin funcionar
¿Se os ocurre que puede ser?

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 30/10/2010, 17:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Tema movido desde PHP a Apache
  #8 (permalink)  
Antiguo 01/11/2010, 16:57
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: url amigables

Dejaré todo lo que he tenido que hacer para conseguirlo

1 Cargamos mod_rewrite
  • Abrimos httpd.conf
  • Buscamos el modulo #LoadModule rewrite_module modules/mod_rewrite.so
  • Le quitamos la almohadilla


2 Por otro lado, en el mismo archivo
  • Bajamos hasta este directorio
Cita:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
</Directory>
y hacemos estos cambios
Cita:
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
Satisfy all
</Directory>
  • Seguimos bajando hasta
Cita:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
en caso que este en None, lo ponemos en All


3 Crear el archivo .htaccess
  • Se guarda este código y al ejecutarlo se creará un archivo .htaccess
Cita:
<?php
touch('.htaccess');
?>
el archivo en este momento está vacío
  • Esto es lo básico con lo que tenemos que editarlo
Cita:
RewriteEngine on
RewriteRule [expresión] [reemplazo]
  • Fijaros en el primer post de este tema para rellenar lo que esta entre corchetes

4 Reiniciamos el servidor
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 04/11/2010, 13:13
Avatar de igualacero  
Fecha de Ingreso: septiembre-2010
Mensajes: 296
Antigüedad: 14 años, 3 meses
Puntos: 16
Respuesta: url amigables

Adler muy buena respuesta y aclaración.
__________________
igualacero

Etiquetas: amigables, 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 21:23.