Cómo configurar la reescritura de URL en Apache en Ubuntu?

En este tutorial aprenderemos a configurar la reescritura de URL en Apache utilizandomod_rewriteen Ubuntu.

Tabla de contenido

Requisitos previos para la reescritura de URL en Apache

  • Un sistema Ubuntu 20.04
  • con un Apache servidor HTTP instalado en él
    (aprende aquí como instalar Apache Servidor HTTP en Ubuntu)

¿Qué es la reescritura de URL?

El propósito de la reescritura de URL es cambiar la apariencia de la URL a una URL más fácil de usar. Esta modificación se denomina reescritura de URL.

Para example,https://example.com/form.htmlse puede reescribir comohttps://example.com/formutilizando la reescritura de URL.

Hay varios módulos en diferentes marcos web que se utilizan para la reescritura de URL.
En el Apache servidor HTTP, elmod_rewriteEl módulo sirve para este propósito, y en este artículo, aprenderemos cómo configurarlo.

Pasos para configurar mod_rewrite en Apache en Ubuntu

Siga los pasos para configurar la reescritura de URL en Apache servidor HTTP con la ayuda delmod_rewritemódulo.

Paso 1: habilite el módulo mod_rewrite en Apache

Para habilitar elmod_rewritemódulo, ejecute el siguiente comando:

sudo a2enmod rewrite

Luego reinicie el Apache servidor HTTP conservicecomando consudo:

sudo service apache2 restart

o usando elsystemctlcomando consudo:

sudo systemctl restart apache2

Ahora que tenemosmod_rewritehabilitado, podemos continuar para configurarlo.

Paso 2: habilite el uso del archivo .htaccess

A.htaccessEl archivo le permite tener cambios de configuración por directorio. Utilizando.htaccessen lugar de hacer cambios directamente a ApacheLos archivos de configuración de pueden afectar el rendimiento del servidor HTTP. pero un pequeño.htaccessEl archivo debe tener un impacto insignificante en el rendimiento.

Apache sugiere utilizar el.htaccesssolo cuando no se le permite realizar cambios en el archivo de configuración del servidor principal o si es necesario realizar cambios de configuración por directorio.

Antes de continuar, para permitir el uso de la.htaccessarchivo, habilitarAllowOverriderealizando cambios en la configuración del Apache servidor HTTP con la ayuda de su editor de texto favorito.

sudo nano /etc/apache2/apache2.conf

Encuentre la siguiente sección en/etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

y cambio, deAllowOverride NoneparaAllowOverride All

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
AllowOverride NingunoparaPermitir anular todo

Luego, reinicie el Apache Servidor HTTP para aplicar la configuración ejecutando:

sudo service apache2 restart

Paso 3: Creación del archivo .htaccess

Ahora, para crear un.htaccessarchivo en el directorio raíz de su sitio web.

sudo nano /var/www/html/.htaccess

Use su editor favorito para agregar lo siguiente en la parte superior del recién creado.htaccesshora de oficina:

RewriteEngine on

Esto habilitará un motor de reescritura en su sitio web.

Paso 4: agregar reglas de reescritura de URL

Una vez que hayamos completado todos los pasos anteriores, ahora podemos proceder a agregar reglas de reescritura de URL en el.htaccesshora de oficina.

Con fines de demostración, configuraremos una regla de reescritura para mostrar elformulario.htmlpágina en https://domain.tld/form en lugar de https://domain.tld/form.html

Antes de agregar una regla de reescritura

Para agregar una regla de este tipo, agregueRewriteRule ^form$ form.html [NC]justo debajoRewriteEngine onen.htaccessarchivo utilizando su editor favorito.

RewriteEngine on
RewriteRule ^form$ form.html [NC]

Guárdelo y ahora debe poder ver la página web form.html en https://domain.tld/form en lugar de https://domain.tld/form.html

Después de la regla de reescrituraDespués de agregar una regla de reescritura

También puede configurar otras páginas de su sitio web y, si desea obtener más información sobre los indicadores de regla de reescritura, visiteaquí.

Conclusión

La reescritura de URL es una herramienta beneficiosa para presentar sus URL de manera hermosa tanto para los usuarios como para los motores de búsqueda, lo que en general aumenta la popularidad de su sitio web ya que es más compatible con SEO. Es sencillo configurar la reescritura de URL en Apache utilizando elmod_rewritemódulo siga los pasos mencionados anteriormente.

Esperamos que este artículo le haya resultado útil. ¡Gracias por leer! ?

Artículos Relacionados