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

Apache : Mod_rewrite

Estas en el tema de Apache : Mod_rewrite en el foro de Apache en Foros del Web. Tengo un .htaccess pero no estoy seguro donde ubicarlo !!!! RewriteEngine On RewriteRule ^([^-]*)\.html$ /genera-page.php?categos=$1 [L] En c:\xampp\apache\conf\ httpd.conf tengo <Directory /> Options FollowSymLinks AllowOverride ...
  #1 (permalink)  
Antiguo 09/11/2007, 18:16
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Busqueda Apache : Mod_rewrite

Tengo un .htaccess pero no estoy seguro donde ubicarlo !!!!

RewriteEngine On
RewriteRule ^([^-]*)\.html$ /genera-page.php?categos=$1 [L]

En c:\xampp\apache\conf\httpd.conf tengo

<Directory />
Options FollowSymLinks
AllowOverride All
#AllowOverride None
Order deny,allow
Allow from all
#Deny from all
Satisfy all
</Directory>

Y ... sin comentar: LoadModule rewrite_module modules/mod_rewrite.so

PROBLEMA: las ULRS se siguen generando como :

http://localhost/genera-page.php?categos=Cocina ayuda, please!
  #2 (permalink)  
Antiguo 09/11/2007, 18:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Apache : Mod_rewrite

Ponlo en la raíz del directorio de tu web
También puedes meter el código directamente en las declaraciones de <Directory />
así se carga en memoria y no tiene que leer un .htaccess en cada visita
  #3 (permalink)  
Antiguo 09/11/2007, 18:50
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

Lanselot: gracias pero sigue sin funcionar :(

Ahora httpd.conf quedo como:

<Directory />
Options FollowSymLinks
AllowOverride All
#AllowOverride None
Order deny,allow
Allow from all
#Deny from all
Satisfy all
RewriteEngine On
RewriteRule ^([^-]*)\.html$ /genera-page.php?categos=$1 [L]

</Directory>

Ideas ????
  #4 (permalink)  
Antiguo 09/11/2007, 19:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Apache : Mod_rewrite

Pero parece que mod_rewrite funciona bien.
Quizás el problema está en las reglas, ¿qué pretendes hacer?
  #5 (permalink)  
Antiguo 10/11/2007, 02:39
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

Lanselot: quiero partiendo de

http://localhost/genera-page.php?categos=Curioso+y+variado

tener

http://localhost/Curioso-y-variado

Las reglas me las suministroi http://www.mod-rewrite-wizard.com/ y serian:

RewriteEngine On
RewriteRule ^([^-]*)\.html$ /genera-page.php?categos=$1 [L]
  #6 (permalink)  
Antiguo 10/11/2007, 02:40
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

Como sabes que "mod_rewrite funciona bien" ?
  #7 (permalink)  
Antiguo 10/11/2007, 09:16
Avatar de pilsenero  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo-Uruguay
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 2
Re: Apache : Mod_rewrite

proba con esto a ver si te funciona,
pon el siguiente htaccess en la raiz de tu directorio web:

Options FollowSymLinks
#activacion del motor de escritura
RewriteEngine On
#se especifica la dir base para evitar problemas y que carge todo bien
RewriteBase /
#aca van las reglas de reescritura
RewriteRule ^([^-]*)\.html$ /genera-page.php?categos=$1 [L]

despues en tu archivo genera-page.php agrega la etiqueta <base>
<base href="http://localhost/" />

saludos
  #8 (permalink)  
Antiguo 10/11/2007, 10:07
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

Ya hice los cambios sugeridos por pilsenero.... poniendo <base ...> en los headers de HTML

Voy a reiniciar a ver que pasa!!!
  #9 (permalink)  
Antiguo 10/11/2007, 10:21
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

SIGUE SIN FUNCIONAR

Ideas ? necesito que funcione........

Les dejo ONLINE los archivos de configuracion por si alguien los quiere ver y ayudarme:

http://pbozzolo.googlepages.com/w.htaccess w.htaccess
http://pbozzolo.googlepages.com/httpd.conf httpd.conf

Última edición por Italico76; 10/11/2007 a las 11:47
  #10 (permalink)  
Antiguo 10/11/2007, 12:10
Avatar de pilsenero  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo-Uruguay
Mensajes: 42
Antigüedad: 17 años, 7 meses
Puntos: 2
Re: Apache : Mod_rewrite

proba con esta regla a ver que pasa

RewriteRule /([A-Za-z0-9]+)/? /genera-page.php?categos=$1 [L]
  #11 (permalink)  
Antiguo 10/11/2007, 12:23
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

pilsenero: ante-todo gracias por intentar ayudarme....

Probe con la regla nueva...... pero NADA!

Siguen generandose URLs como
Código HTML:
http://localhost/genera-page.php?categos=Curioso+y+variado
El httpd.conf quedo asi:

<Directory />
Options FollowSymLinks
AllowOverride All
#AllowOverride None
Order deny,allow
Allow from all
#Deny from all
Satisfy all
#activacion del motor de escritura
RewriteEngine On
#se especifica la dir base para evitar problemas y que carge todo bien
RewriteBase /
#aca van las reglas de reescritura
#RewriteRule ^([^-]*)\.html$ /genera-page.php?categos=$1 [L]
RewriteRule /([A-Za-z0-9]+)/? /genera-page.php?categos=$1 [L]</Directory>

Ideas... por favor ?
  #12 (permalink)  
Antiguo 10/11/2007, 12:25
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

El PHP que genera la URL es:

Código:
<html>

<head>
<title>Generar Paginas</title>
<base href="http://localhost/" />
</head>

<body> 
 
<div align="center">
<form method="get" action="genera-page.php">
<select name="categos"  title="Categorias"  size="45" cols="45">  <!-- no "multiple" -->
Código PHP:
<?php
 
include "betadir.inc"// incluye funcion Pesos($catego)

Function bye_acentos($frase_acentuada){ 
$mal "abcdefghijklmnñopqrstuvwxyzáéíóúü";
$bien "abcdefghijklmnnopqrstuvwxyzaeiouu";
return (
strtr($frase_acentuada,"$mal","$bien"));
}

$sql 'SELECT * FROM `categorias`';
$tabla mysql_query($sql); // selecciono todos los registros de la tabla usuarios, ordenado por nombre

while ($reg mysql_fetch_array($tabla)) { // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
$opcion "<option value='".$reg['nombre']."'>".$reg['nombre']."</option>";
echo 
bye_acentos($opcion); // imprimo el TAG


mysql_free_result($tabla); // libera los registros de la tabla
mysql_close($con); // cierra la conexion con la base de datos
?>
Código:
</select>
<br/>
<input type="submit" value="Enviar"/>
</form>

</body>
</html>
  #13 (permalink)  
Antiguo 10/11/2007, 13:05
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

Cita:
Enable mod_rewriteFind the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)

Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)

Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.
'ClearModuleList' NO existe en mi httpd.conf y TAMPOCO nada como:

AddModule mod_rewrite.c
  #14 (permalink)  
Antiguo 10/11/2007, 13:14
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

MAS DATOS: cuando activo la linea AddModule mod_rewrite.c el Apache no arranca........y me he fijado y NO TENGO el mod_rewrite.c

De donde lo saco ? donde lo ubico ? lo necesito, verdad ?
  #15 (permalink)  
Antiguo 10/11/2007, 13:19
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Apache : Mod_rewrite

Italico76, ¿tienes lo enlaces hechos así:
<a href="index.php?id=1">Enlace</a>
Porque no te funcionará, tienes que poner en el <a> la dirección ya limpia, es decir:
<a href="index/1/">Enlace</a>
Comprúebalo.
  #16 (permalink)  
Antiguo 10/11/2007, 13:28
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite

Raulmmmmmmmmmmmm Ya lo comprendi!!!!!!!!!!!!!!!

Ahora tipeo http://localhost/Medios+de+comunicacion.html y se ve lo que antes con la variable

Última edición por Italico76; 10/11/2007 a las 13:56
  #17 (permalink)  
Antiguo 10/11/2007, 13:29
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Apache : Mod_rewrite



Una duda mas.... como paso de http://localhost/Medios+de+comunicacion.html a http://localhost/Medios-de-comunicacion.html

Es obviamente por razones de posicionamiento!!! a ver... una ayudita mas!!! please

AUTO-RESUESTA:

RewriteRule ^directorio-(.*)\.html$ /genera-page.php?categos=$1 [L]
#
# esto genera algo como: http://localhost/directorio-Medios-de-comunicacion.html

gracias a todos!!!!

Última edición por Italico76; 10/11/2007 a las 14:48
  #18 (permalink)  
Antiguo 11/11/2007, 04:55
Avatar de Raulmmmm  
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 17 años, 1 mes
Puntos: 36
Re: Apache : Mod_rewrite

Me alegro de que te haya salido.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:58.