Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Diabliyo en 31 Marzo 2011, 20:42 pm



Título: Problemas con Apache en implelemtacion de mod_rewrite
Publicado por: Diabliyo en 31 Marzo 2011, 20:42 pm
Buenas.

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

Código:
<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:
Código:
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:

Código:
[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:


Código:
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 !


Título: Re: Problemas con Apache en implelemtacion de mod_rewrite
Publicado por: Nakp en 1 Abril 2011, 06:57 am
primero.. que sistema operativo tienes?

Código
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine on
  3. ##Reglas
  4. </IfModule>

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

Código
  1. sudo a2enmod rewrite


Título: Re: Problemas con Apache en implelemtacion de mod_rewrite
Publicado por: Diabliyo en 1 Abril 2011, 16:56 pm
/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 !


Título: Re: Problemas con Apache en implelemtacion de mod_rewrite
Publicado por: Nakp en 1 Abril 2011, 17:11 pm
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
  1. RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]