Ejemplo XAMPP: urls amigables con .htaccess en localhost

Icono XAMPP

Ejemplo de código fuente que consiste en cómo hacer que nuestro proyecto web en localhost, funcione a través de urls amigables configurando el .htaccess, muy útil para ir preparando nuestro proyecto con un buen SEO antes de publicarlo, y que los buscadores lo indexen mejor.

 

 

Descripción del ejemplo

Lo primero de todo, tenemos que verificar que XAMPP tiene configurado el módulo de Apache mod_rewrite. Para ello editamos el archivo httpd.conf  que estará situado en C:\xampp\apache\conf y buscamos la siguiente línea:

#LoadModule rewrite_module modules/mod_rewrite.so

y la descomentamos para que así quede activado dicho módulo en Apache (para descomentar se quita la # ).

Una vez activado el mod_rewrite buscamos en el mismo archivo httpd.conf las siguientes líneas:

    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all

Verificamos que su contenido esté igual y en caso contrario pues lo modificamos.

Finalizadas y guardadas estas configuraciones, reiniciamos el servidor Apache y ahora vamos a configurar el .htaccess para que nos funcione en nuestro proyecto en local. Para ello, lo que haremos es añadirle a la línea…

RewriteBase /

el nombre del directorio de nuestro proyecto, es decir…

RewriteBase /MIPROYECTO_PHP/

, ya que si lo dejamos con el “/”, nos envia a la carpeta root de xampp que será htdocs, y entonces nos saldrá el dichoso mensaje:

error de XAMPP

Después ya en las instrucciones RewriteRule, las rutas de cada archivo a reescribir se van añadiendo los nombres de los directorios donde estén situados esos archivos, y si estuvieran en el root de nuestro proyecto, pues no se añade ninguna ruta de directorio, porque ya la tomaría de la que le pusimos en el RewriteBase.

 

Código .htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteBase /MIPROYECTO_PHP/
RewriteRule ^/$ index.php [L]
RewriteRule ^javier/$ clientes/10/javier.php [L]
RewriteRule ^cisnes/$ animales/aves/anseriformes/anatidae/cisnes.php [L]

 

Demo del ejemplo

VER DEMO

 

Descargar ejemplo

 

 

Valoración General

[Valoraciones:  6    Promedio:  3.8 de 5]
  • Mercedes Eliana Gallardo Contr

    Muchas gracias me sirvio 🙂

  • luis

    Gracias Gumbadre…. el ejemplo me sirvio bastante

  • http://raonhanh24h.com.vn bitdanh

    Thanks, this way, i troubleshoot problem:

    1. Go to the directory of installation C:\xampp\apache\conf

    2. Open and edit httpd.conf in a text editor

    3. Find the line which contains

    #LoadModule rewrite_module modules/mod_rewrite.so

    and (uncomment) change to

    LoadModule rewrite_module modules/mod_rewrite.so

    4. Find all occurrences of

    AllowOverride None

    and change to

    AllowOverride All

    I think it appears 2 or 3 times on the configuration file.

    5. Restart xampp

  • hector

    Muchas gracias estube buscando para un proyecto de la universidad y tu ejemplo me ayudo ..

  • http://zonaleros.net LeRoS

    Wow, muchas gracias, busque en muchos sitios y en todos decia lo mismo que tu, solo que tu decias esta parte: RewriteBase /MIPROYECTO_PHP/, y lo edite como dijiste y por fin me funciono, antes solo lo dejeba em “/”, y ps me salia lo de la imagen, MUCHAS GRACIAS 😀