Mod_rewrite

No ! Llevo toda la tarde y no consigo echar a andar esto del mod_rewrite. Estoy desesperado. Lo peor es que no se si el error está en la reescritura o después, no lo comprendo y mira que el ejemplo es bastante sencillo.
Os pongo en situación. Tengo instalado el PHP 4.3.3 con Apache 2.0.47 bajo Windows 2000 Profesional. Hasta aquí todo bien. Las webs se ven correctamente y tal.
Lo que yo quiero hacer es muuuuuy sencillo, yo lo veo fácil pero he seguido un artículo que de la siguiente url: artículo mod_rewrite y no funciona. Perdón, a mi no me funciona. Siempre me dice ERROR 404.
Me gustaría exponeros mi problema a ver si me podéis enviar, no hace falta que esté explicado, el fichero .htaccess y el script que trate la URL. Venga, empiezo ...
Supongamos que mi URL es
http://www.miweb.com/
Me gustaría que cada vez que ponga alguien en el navegador la siguente URL:
http://www.miweb.com/cadena
se reescriba de la siguiente manera
http://www.miweb.com/buscar.php?miTexto=cadena
Esto es todo. Yo lo veo muy fácil pero no soy capaz de conseguir que me funcione. No se si no me interpreta el .htaccess o que. El caso que si una cosa 'fácil' no sale es por que no es tan fácil o yo soy un torpe de campeonato.
Estoy un poco desesperado pues me hace mucha falta, vosotr@s que sois un@s máquinas seguro que me lo resolvéis.
Gracias anticipadas.
Nacho Ruiz
Mail: [email protected]

1 Respuesta

Respuesta
1
Ese mensaje en realidad no dice mucho, intenta aumentando el nivel del LOG, para ver si es un poco más expresivo respecto a lo que ocurre:
RewriteLogLevel 9
Hola de nuevo. He añadido una linea al .htaccess
RewriteLog rewrite.log
con esto me da
Internal Server Error
¿Tengo qué usar un path especial?
Que lio, con la falta que me hace solucionar esto. Muchas gracias de antemano.
Saludos, Nacho Ruiz.
Para el ejemplo que pones la regla seria más o menos así:
RewriteEngine on
RewriteRule ^/(.+)$ /buscar.php?miTexto=$1 [R]
Mira mas ejemplos aqui:
[] http://www.engelschall.com/pw/apache/rewriteguide/
Hola, gracias por contestar. Me sigue sin funcionar. Te voy a poner un caso el cual si que me funciona perfectamente, ¿ok? Empiezo. Tengo 2 ficheros, uno el .htaccess y otro que se llama grupo.php. El .htaccess está en el raíz de mi servidor web y el grupo.php está dentro de __es que está en el raíz de mi servidor web.
Código de .htaccess
RewriteEngine on
RewriteRule grupo/(.+) __es/grupo.php?grupo=$1
Código de grupo.php
<html>
<head>
<title>Grupo</title>
</head>
<body>
<? echo "Mi Grupo1: ".$_GET['grupo'];?>
</body>
</html>
Cuando en el navegador pongo:
http://darkness/grupo/nirvana
Me redirecciona a grupo.php con el parámetro grupo=nirvana. Me funciona perfectamente, pero ahora cuando intento hacer lo que tu me has dicho no va. No consigo hacerlo para aplicar lo que te expuse, ¿ qué puede pasar ?
Saludos y gracias.
Siendo así, yo activaría el LOG de rewrite para ver que es lo que esta haciendo, y poder encontrarle una solución.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas