URL amigables con mod_rewrite en Ubuntu 20.04

URL amigables con mod_rewrite de Apache en Ubuntu 20.04, Debian y todos sus derivados.

Mod_rewrite es un módulo de Apache, que utiliza un motor de reescritura basado en reglas. Su principal función es traducir y redirigir la URL indicada a una nueva URL, modificándola si es necesario de forma dinámica. Este efecto se produce antes que el visitante de un sitio web se perciba de ello.

Con mod_rewrite, puedes reescribir un número ilimitado de reglas, esto nos permite reescribir la URL en función de las variables de entorno, los encabezados HTTP y las variables del servidor, incluyendo la creación de URL amigables.

En este artículo, vemos cómo usar mod_rewrite para reescribir la URL de Apache en Ubuntu 20.04 y todos sus derivados.

 

URL amigables con mod_rewrite en Ubuntu 20.04

URL amigables con mod rewrite

URL amigables con mod rewrite

 

Actualizar Ubuntu

Comenzamos actualizando nuestro Ubuntu.

sudo apt update

sudo apt full-upgrade

 

Instalar Apache

Apache suele venir instalado por defecto, si no es tu caso… lo instalas e inicias.

sudo install apache2 -y

sudo systemctl start apache2

Una vez termine el proceso, puedes identificar la versión instalada con el siguiente comando.

apache2ctl -v

Imagen de ejemplo.

URL amigables con mod rewrite Version de Apache

URL amigables con mod_rewrite – Versión de Apache

 

Habilitar mod_rewrite

El módulo mod_rewrite se instala con Apache, pero está deshabilitado. Lo habilitamos y verificamos.

sudo a2enmod rewrite

apache2ctl -M | grep rewrite_module

Si todo es válido, recibirás esta respuesta.

rewrite_module (shared)

 

Habilitar .htaccess

Por defecto, Apache no permite usar el archivo .htaccess. Por tanto, también debemos habilitarlo.

sudo nano /etc/apache2/sites-available/000-default.conf

Copia y pega el siguiente código.

<Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
</Directory>

Guarda y cierra el archivo, solo falta reiniciar Apache.

sudo systemctl restart apache2
URL amigables con htaccess

URL amigables con htaccess

 

Configurar htaccess

El archivo .htaccess lo debes crear en la raíz de tu sitio web. Antes de implantar una regla mod_rewrite, debes insertar…

RewriteEngine On

Un buen ejemplo de url amigables, es el que nos propone WordPress.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Otro excelente ejemplo es, si quieres ofrecer carpetas en vez de subdominios en una instalación de WordPress multisitio.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
 
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Te recomiendo que revises nuestra, «Guía de .htaccess».

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. URL amigables con mod_rewrite en Ubuntu 20.04.

Chat de SoloLinux en Telegram

 

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido