Problemas con Apache en implelemtacion de mod_rewrite

Iniciado por Diabliyo, 31 Marzo 2011, 20:42 PM

0 Miembros y 1 Visitante están viendo este tema.

Diabliyo

Buenas.

Tengo un servidor dedicado al cual le configure todos los directorio del DocumentRoot asi:

<Directory "/home/usuario/public_html>
       Options FollowSymLinks
       Order allow,deny
      Allow from all
</Directory>


Para que mis usuarios puedan implementar mod_rewrite... Pero me tope con un problema :(, pues estoy implementando urls_amigables en mi blog principal y me sale un error de Internal Error y es por algo en el mod_rewrite.

Este es mi htaccess:
Options FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule ^(.+)/$ index.php?id=$1


Tengo que comentar la ultima linea que dice RewriteRule ^(.+)/$ index.php?id=$1, por que si la dejo me sale el error de Internal Error :(.

Checando el Log del error apache menciona:

[Thu Mar 31 14:32:30 2011] [alert] [client 189.158.185.112] /home/user/public_html/.htaccess: RewriteCond: bad flag delimiters

Y lo primero que pense es que eran las lineas de mi htaccess donde invoco dos sentencias de RewriteCond, pero creo que NO tienen que ver, porque si comento las lineas, dejando las lineas asi:


Options FollowSymLinks
RewriteEngine on
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
# RewriteRule ^(.+)/$ index.php?id=$1


Asi como esta arriba el htaccess, se despliega con exito el sitio, pero si descomento la ultima linea, me vuelve a salir el Internal Error.

Saludos !

Nakp

primero.. que sistema operativo tienes?

Código (apache) [Seleccionar]
<IfModule mod_rewrite.c>
RewriteEngine on
##Reglas
</IfModule>


y prueba asi tus reglas, si no funcionan entonces talvez tengas que habilitar el mod_rewrite

Código (bash) [Seleccionar]
sudo a2enmod rewrite
Ojo por ojo, y el mundo acabará ciego.

Diabliyo

/home/usuario/public_html cual cree que sea ?....

Bueno, ya mencione que con el script (que ya mencione) si funcionaba, y en ese se incluye la regla que me indicaste, se omite el echo de que no este mod_rewrite habilitado !

Saludos !

Nakp

RewriteEngine solo la puedes iniciar si el modulo mod_rewrite esta habilitado en apache, es por eso que se pone dentro del bloque condicional, es como decir.. tienes motor? arranca si no lo has hecho :)

sobre la regla no se si esta mal formada, al menos no me lo parece pero prueba mejor asi

Código (apache) [Seleccionar]
RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]
Ojo por ojo, y el mundo acabará ciego.