Bloquear acceso a páginas, redireccionar y habilitar caché
-
Este hilo forma parte de la guía para montar un servidor en Debian.
Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.
Una vez que tenemos el archivo .htaccess operativo, podemos empezar a usarlo para algunas cuestiones prácticas que se explican a continuación.
Bloquear el acceso a una página con .htaccess
Una de las posibilidades que nos permite el archivo .htaccess es impedir el acceso a una subcarpeta o archivo de nuestro servidor web.
Si todavía no disponemos de un archivo .htaccess, lo creamos en la subcarpeta donde queramos que tenga efecto.
touch /var/www/html/subcarpeta/.htaccess nano /var/www/html/subcarpeta/.htaccess
Para bloquear el acceso a un archivo, pegamos al final del archivo el siguiente texto:
<Files archivo.html> deny from all </Files>
Para impedir el acceso a una carpeta, pegamos esto:
<Directory /var/www/html/subcarpeta/bloqueada> deny from all </Directory>
Mover página de dirección
En alguna ocasión es posible que queramos mover nuestra web de dirección, ya sea porque queremos cambiarle el nombre, porque queremos pasar de un subdominio y a un dominio o cualquier otra razón.
Para que los robots de búsqueda y los usuarios puedan seguir accediendo al contenido sin tener que conocer la nueva dirección, podemos redireccionar todo el contenido al nuevo dominio. De esa forma, los navegadores web y robots recibirán un código de estado 301 moved permanently lo que indica que el sitio ha sido movido.
Lo único que tenemos que hacer es crear un archivo .htaccess en la subcarpeta donde se encuentra la web:
touch /var/www/html/subcarpeta/.htaccess nano /var/www/html/subcarpeta/.htaccess
Finalmente pegamos este texto:
Options +FollowSymLinks RewriteEngine on RewriteRule (.*) https://nuevo_dominio.com/$1 [R=301,L]
Lo único que debemos modificar es el dominio de nuestra nueva web. Ahora cada vez que alguien acceda a la antigua dirección, será redireccionado inmediatamente a la nueva y los robots de búsqueda sabrán que el sitio ha sido movido.
Habilitar caché del navegador
Si habilitamos la caché del navegador con Apache, nos ahorraremos una gran cantidad de ancho de banda cuando tengamos que servir ciertos elementos y por otra parte, al cliente le cargará la página mucho más rápido. No obstante, hay que tener en cuenta que si permitimos el cacheo de ciertos archivos, el cliente podría estar visualizando contenido sin contactar con el servidor, por lo que serían visitas no contabilizadas. Además, si hay ciertos elementos que cambian con frecuencia, en el caso de que se haya accedido previamente a ese recurso, los cambios no se visualizarán hasta que expire la caché.
En primer lugar activamos el módulo expires y reiniciamos Apache como root:
a2enmod expires /etc/init.d/apache2 restart
Si no contamos con un archivo .htaccess, lo creamos:
touch /var/www/html/subcarpeta/.htaccess nano /var/www/html/subcarpeta/.htaccess
Y añadimos el siguiente texto:
<IfModule mod_expires.c> <filesmatch "\.(jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG|css|ico)$"> ExpiresActive on ExpiresDefault "access plus 30 day" </filesmatch> </IfModule>
Los parámetros que nos interesan son estos:
· filesmatch: ahí se indican las extensiones de los archivos que se van a almacenar en la caché del navegador. No añadas la extensión html ya que son archivos que consumen poco caudal y cualquier modificación no surtirá efecto en la visualización hasta que caduque la caché.
· ExpiresDefault "access plus xx day": se indica la cantidad de días que se almacenará la caché. Cuanto más tiempo, menos se repetirán los envíos de ciertos archivos a visitantes habituales pero más tardarán en poder visualizar los cambios producidos en esos archivos. -