Fondo Servidores

Portal de Ayuda

Operaciones básicas con .htaccess

Escrito en

Estás en Inicio > Hosting > Programación > Operaciones básicas con .htaccess

Operaciones básicas con .htaccess

A continuación te enseñamos algunas de las operaciones básicas con .htaccess que puedes necesitar de forma frecuente

Cambiar la página por defecto

Se puede utilizar esta instrucción para cambiar la página por defecto, en nuestros servidores el fichero a cargar por defecto es index.html y a continuación index.php, no obstante, con esta instrucción puedes indicar cuál será el primero en cargar de izquierda a derecha.

DirectoryIndex inicio.html index.htm index.html index.php

Redireccionar el tráfico web

Si necesitas cambiar contenido de sitio en tu web, pero necesitas que los usuarios puedan seguir accediendo con la URL antigua, puedes crear la siguiente regla para redireccionar el tráfico

Redirect /antiguo.php http://sitio.com/nuevo.php

Redirección 301 manteniendo estructura de directorios

Esta redirección es especialmente útil cuando únicamente cambiamos el nombre de dominio de nuestra web y queremos que la redirección sea lo más transparente posible para los visitantes.

redirectMatch 301 ^(.*)$ http://example.com/$1

Supongamos que estamos trabajando en una web con el nombre “webantingua.com”. Con esta regla, cualquier URL de tu dominio, incluidas las que llevan la ruta a un directorio o recurso concreto de la web (por ejemplo http://webantingua.com/blog) serán redireccionadas al nuevo dominio manteniendo la estructura de la URL.

Es decir, un usuario que acceda a http://webantingua.com/blog será redireccionado a http://example.com/blog.

Redirección 301 manteniendo certificado Let’s Encrypt

Tener la web completamente redireccionada, puede provocar que las comprobaciones del certificado de Let’s Encrypt a la hora de renovarlo no se lleven a cabo, para ello podemos añadir una excepción excluyendo el directorio .well-known y evitar con ello este problema bastante habitual.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/.well-known/
RewriteRule (.*) https://dominio.com/$1 [R=301,L]

Limitar los tipos de ficheros que pueden subirse a un directorio

En ciertos formularios de la web podemos solicitar al usuario la subida de ficheros como pueden ser fotos o documentados de texto con un formato concreto, una forma de asegurarse de que el fichero que nos envían es el adecuado es limitar las extensiones de ficheros que se permiten.

php_value engine off
AddType text/plain .htm .html .shtml

Contenido dependiente del navegador

Para redirigir el contenido en función del navegador se puede utilizar el valor de User-Agent que aparece en la cabecera HTTP de las peticiones, y con el que normalmente se identifica el navegador.

Por ejemplo, las siguientes líneas colocadas en un fichero .htaccess harían que cuando un agente solicitara la página index.html se le sirviese la página index.opera.html si se identifica como Opera/, la página index.mozilla.html si se identifica como Mozilla/, y la página index.html en cualquier otro caso:

RewriteCond %{HTTP_USER_AGENT} ^Opera/*
RewriteRule ^index.html$ index.opera.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/*
RewriteRule ^index.html$ index.mozilla.html [L]
RewriteRule ^index.html$ index.html [L]

Los asteriscos en las expresiones regulares de las directivas casan con cualquier cadena de texto. En este caso en concreto se usan para redirigir el contenido dependiendo del nombre del agente sin tener en cuenta la versión, que suele indicarse a continuación de la barra, como Mozilla/3.0, Mozilla/4.0, Mozilla/5.0, etc.

Especificar el lenguaje por defecto del server

La siguiente regla  agrega una cabecera del idioma que deseemos sin tener que usar una meta etiqueta:

Lenguaje por defecto del server

DefaultLanguage en-US

Declarar tipos MIME específicos

En ocasiones tendremos que indicar al servidor que tipo de programa o aplicación está ligada a los ficheros con una extensión en concreto, eso se hace definiendo los MIME types. Puedes consultar un listado de los diferentes MIME types en este enlace:

Agregar mime types

AddType application/x-shockwave-flash .swf
AddType video/x-flv .flv
AddType image/x-icon .ico

Forzar dominio con www

Si nos interesa que todos los usuarios vean el nombre del dominio en el navegador con www podremos usar esta regla

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

Forzar dominio sin www

Si nos interesa que todos los usuarios vean el nombre del dominio en el navegador sin www podremos usar esta otra regla

RewriteEngine on
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]

 Forzar https en servidores con nginx

Desde nuestro panel de control puedes forzar la navegación https siguiendo esta guía, no obstante, con esta regla también puedes hacerlo(asegúrate de no tener ambas opciones activas al mismo tiempo)

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https

Ten en cuenta que posibilidades que ofrece el fichero .htaccess son muy amplias y aquí solo se describen las operaciones más básicas con .htaccess. Si te surgen dudas sobre alguna de ellas, no dudes en contactar con nuestro equipo de soporte.

Vídeos relacionados

Webinar | Cómo escoger un hosting para tu proyecto web

Webinar | Cómo escoger un hosting para tu proyecto web

Tanto si vendes productos o servicios como si tienes un blog o un sitio de noticias, elegir un buen hosting para tu web es …

Webinar | Introducción a la Optimización en WordPress (WPO)

Webinar | Introducción a la Optimización en WordPress (WPO)

Mantener tu web en WordPress rápida y segura ha de ser una de tus prioridades online. Aquí te explicamos algunas de las …

Tutoriales de Ayuda. Panel Dinahosting | ¿Cómo sé si un correo se ha enviado correctamente?

Tutoriales de Ayuda. Panel Dinahosting | ¿Cómo sé si un correo se ha enviado correctamente?

Comprueba si un envío de correo se ha efectuado correctamente desde tu Panel de Control de dinahosting, accediendo al menú …

Skip to content