Activar el módulo apache
Primero añadimos el módulo
sudo a2enmod rewrite
Editamos el archivo '/etc/apache2/sites-enabled/000-default' y sustituimos AllowOverride None por AllowOverride All
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Crear la reescritura de url en .htaccess
Creamos un archivo .htaccess en el directorio en el que se van a empezar a procesar urls. Y también creamos un archivo index.php que será al que enviaremos las peticiones de url.
RewriteEngine On
RewriteCond %{REQUEST_URI} !/dir1|/dir2
RewriteRule (.*) index.php?ruta=$1 [L,QSA]
La parte /dir1|/dir2 significa que NO procesará las urls que tengan /dir1 ó /dir2 .
NOTA: El archivo .htaccess debe tener codificación ascii
NOTA: El archivo .htaccess debe tener codificación ascii
Procesar la url en index.php
Ahora al archivo index.php recibirá la url en una variable GET.
<?php
echo $_GET['ruta'];
?>
A la hora de procesar la url puede sernos útil la función explode (http://es2.php.net/manual/es/function.explode.php) que divide una cadena a partir de un caracter dado y devuelve un array con todas las subcadenas.
Por ejemplo:
Por ejemplo:
<?php
$subcadenas = explode('/', $_GET['ruta']);
foreach ($subcadenas as $sc)
echo "$sc<br>";
?>