Tag: Module rewrite
Enable Mod Rewrite en apache Linux, Module rewrite already enabled
by Netsky on may.22, 2011, under General, Informatica, Paginas
Para habilitar el mod_rewrite en linux me puse a buscar como hacerlo, encontre algunas formas de hacerlo una de ellas mediante el siguiente comando:
sudo a2enmod rewrite
recalco que hacerlo de esta forma o hacerlo de otras formas, al tratar de volver a ejecutar este comando se obtiene un error si antes no se habilito esta opción:
Module rewrite already enabled
aquí empezaron los problemas ya que al parecer no es tan simple como ejecutar ese comando así que tenia que saber si en realidad funcionaba para lo cual acudi al famoso puesto en un archivo.php , el que me mostro para mi sorpresa el siguiente resultado: Loaded Modules (mod_rewrite) claro que la lista de los muchos otros modulos que para este caso no tienen importancia.
puede también probar con el comando en consola
apache2ctl -M
Si me dice que el modulo rewrite ya esta habilitado, y en el phpinfo veo que tiene razón donde esta el problema?
continue buscando información y me tope con que algunos tenian el mismo problema que yo, hasta que encontré un archivo para probar el mod_rewrite en mi pc el cual consiste en crear un archivo llamado rewrite.php con el siguiente codigo:
<h2 align=center>
<?
if(isset($_GET['link']))
{
if($_GET['link']==1){echo"Enlace sin usar mod_rewrite";}
elseif($_GET['link']==2){echo"Felicitaciones!! Tu has usado mod_rewrite de Apache y funciona correctamente";}
else{echo"Verifica el modulo mod_rewrite de tu Apache";}
}
?>
</h2>
<hr>
<head>
<title>Probar mod_rewrite en Apache Linux</title>
</head>
<body>
<h1>Probar mod_rewrite en Apache Linux</h1>
<p><a href="rewrite.php?link=1">Enlace uno </a> = rewrite.php?link=1</p>
<p><a href="link2.html">Enlace 2</a> = link2.html</p>
<ul>
<li>Prueba el enlace uno</li>
<li>Luego prueba el enlace dos</li>
<li>Si con el enlace dos te sale que la p?gina no fue encontrada entonces no tienes activado los .htaccess del apache o no funciona el mod_rewrite</li>
</ul>
Crear un archivo .htaccess con el siguiente codigo
RewriteEngine On
RewriteRule ^link([^/]*).html$ rewrite.php?link=$1 [L]
luego ejecutarlo, y hacer lo que pide ahí, para mi caso el resultado fue negativo en el enlace 2 por lo que el mod_rewrite no funciona correctamente, tras seguir buscando encontré la solución definitiva en la documentación de drupal aunque no es para lo que quería lo importante es que me brindo la solución aquí la dejo y suerte con ello:
sudo gedit /etc/apache2/sites-available/default
Luego buscar en la parte (dependiendo del directorio raiz de tu apache)
y modificar el AllowOverride none, por AllowOverride All
al grabar y reiniciar apache el dolor de cabeza se abra ido:
sudo /etc/init.d/apache2 reload
al menos para mi caso, lo probe con ubuntu 10.10, se que les servirá a algunos así que les deseo suerte. =)