10 fragmentos de código htaccess y trucos útiles
Publicado: 2020-09-10.htaccess
es un archivo que todo administrador web debe conocer y comprender. En su nivel básico, controla el acceso a los directorios de su sitio. Pero hay mucho más de lo que puede hacer, como le mostrarán los fragmentos de esta publicación.
Si desea aprender los conceptos básicos de .htaccess
, debe consultar nuestro artículo Introducción a .htaccess, que explica bastante bien todo lo que necesitará para comenzar a utilizarlo.
También le pueden gustar estos útiles fragmentos de consulta SQL de WordPress o estos fragmentos que hacen que WordPress sea fácil de usar para sus clientes.
1. Control de acceso a archivos y directorios
La protección con contraseña es una cosa, pero a veces es posible que deba bloquear completamente a los usuarios para que no tengan la opción de acceder a un archivo o directorio en particular. Esto suele suceder con las carpetas del sistema, como la carpeta de includes
, a la que las aplicaciones necesitarán acceso, pero ningún usuario necesitará el privilegio.
Para hacer esto, pegue este código en un archivo .htaccess
y suéltelo en el directorio:
Sin embargo, esto bloqueará el acceso a todos, incluido usted. Para otorgarte acceso, debes especificar tu dirección IP. Aquí está el código:
xxx.xxx.xxx.xxx
es tu IP. Si reemplaza los últimos tres dígitos con 0/12
, por ejemplo, esto especificará un rango de IP dentro de la misma red, lo que le ahorrará la molestia de enumerar todas las IP permitidas por separado.
Si desea bloquear el acceso a un archivo en particular, incluido el propio .htaccess
, use el siguiente fragmento:
Del mismo modo, si desea permitir IP determinadas, enumérelas con allow from
.
Si desea bloquear el acceso a tipos de archivos particulares, use esto en su lugar:
2. Deshabilitar la exploración de directorios
Para evitar la exploración de directorios, agregue esto:
Sin embargo, si por alguna razón desea habilitar la exploración de directorios, cámbielo a lo siguiente:
3. Aceleración de los tiempos de carga mediante la compresión de archivos
Puedes comprimir cualquier tipo de archivo, no solo imágenes. Por ejemplo, para comprimir archivos HTML , use esto:
Para comprimir archivos de TEXTO , use esto:
También puede comprimir JavaScript o agregar compresión a varios tipos de archivos con un solo comando:
Alternativamente, si desea comprimir todos sus archivos JavaScript, HTML y CSS con GZIP, puede usar esto:
4. Proteja su sitio contra Hotlinking
Si no desea vincular sus imágenes, agregue esto a su archivo .htaccess
:
Simplemente reemplace yourdomain.com con el suyo propio, y estará listo para comenzar.
5. Bloqueo de visitantes referidos desde un dominio en particular
Si tiene usuarios de un dominio en particular que no le agradan, puede prohibirlos en su sitio. Por ejemplo, si su sitio aparece en un lugar del que no desea recibir tráfico (es decir, sitios para adultos, sitios de blackhat, etc.), puede servirlos con una página 403 Prohibida. Debe tener mod_rewrite
habilitado, pero debería estar bien ya que generalmente está activado. Agrega este fragmento:
Debe reemplazar bannedurl1.com
y bannedurl2.com
etc. con los nombres de dominio que desea incluir en la lista negra. Es posible que desee utilizar el indicador [NC]
porque especifica que el nombre de dominio que ingresó no distingue entre mayúsculas y minúsculas. El indicador [F]
especifica la acción a realizar, en este caso para mostrar el error 403 Prohibido. Si desea prohibir varios sitios, use el indicador [NC,OR]
para todos los dominios excepto el último y si desea prohibir un solo dominio, use solo el indicador [NC]
.
6. Solicitudes de bloqueo de agentes de usuario particulares
Si sus archivos de registro muestran agentes de usuario particulares (bots o arañas), puede agregar algunas líneas a .htaccess
y negarles el acceso a su sitio:
Reemplace badbot1
, badbot1
, etc. con los nombres de los bots de sus archivos de registro. Esto debería mantener dichos programas alejados de su sitio.
7. Almacenamiento en caché de archivos
Otra forma de acelerar los tiempos de carga de su sitio es a través del almacenamiento en caché de archivos. Esto es lo que necesita agregar para almacenar archivos en caché:
Puede agregar más tipos de archivos (o eliminar algunos de ellos) a la secuencia de archivos enumerados en este ejemplo; haga lo que más le convenga. También puede usar max-age
para especificar la cantidad de tiempo en segundos que sus archivos vivirán en el caché.
8. Deshabilitar el almacenamiento en caché para tipos de archivos particulares
Si no desea almacenar en caché determinados tipos de archivos, es más fácil no incluirlos en la secuencia de caché. Sin embargo, a veces los archivos pueden almacenarse en caché incluso si no los enumera explícitamente allí y, en este caso, es posible que desee deshabilitar el almacenamiento en caché solo para ellos. La mayoría de las veces querrá deshabilitar el almacenamiento en caché para archivos dinámicos, como scripts. Aquí está cómo hacerlo:
Simplemente canalice los archivos para los que desea deshabilitar el almacenamiento en caché, y eso es todo.
9. Omitir el diálogo de descarga
De forma predeterminada, cuando intenta descargar un archivo de un servidor web, aparece un cuadro de diálogo que le pregunta si desea guardar el archivo o abrirlo. Este diálogo es especialmente irritante con archivos multimedia grandes o PDF. Si los archivos que ha subido a su servidor son para descargas, puede ahorrarles a los usuarios la molestia y continuar directamente con la descarga. Esto es lo que necesita configurar en .htaccess
:
10. Cambiar el nombre de un archivo .htaccess
Si por alguna razón, principalmente relacionada con la seguridad, desea cambiar el nombre de su archivo .htaccess
, es muy fácil hacerlo. En teoría, cambiar el nombre de un archivo .htaccess
no debería causar problemas con las aplicaciones que se ejecutan en su servidor, pero si por casualidad nota tales problemas después de cambiar el nombre del archivo, simplemente cambie el nombre a su nombre original.
También debe actualizar cualquier entrada en el archivo mismo o en cualquier lugar donde se mencione .htaccess
; de lo contrario, obtendrá muchos errores.
11. Cambiar una página de índice predeterminada
Si desea que su página de índice sea algo diferente de la predeterminada index.html
, index.php
, index.htm
, etc., esto es muy fácil de hacer. Esto es lo que necesita agregar a .htaccess
:
Reemplace mypage.html
con la URL real de la página que desea usar como índice y listo.
12. Redirigir a una conexión https segura
Si está utilizando HTTPS y desea redirigir a los usuarios a las páginas seguras de su sitio, utilice esto:
13. Restricción de los límites de carga de archivos en PHP, tamaño máximo de los datos de la publicación, tiempo máximo de ejecución del script, etc.
.htaccess
le permite establecer algunos valores que afectan directamente a sus aplicaciones PHP. Por ejemplo, si desea imponer límites de carga en PHP para que no se quede sin espacio de alojamiento debido a archivos grandes, use esto:
Por supuesto, puede establecer el valor en cualquier valor que considere apropiado: 15M (MB) en este ejemplo no es fijo. También puede restringir el tamaño máximo de publicación para cargar en PHP. Para hacerlo agrega esto:
Del mismo modo, puede cambiar 10M
a cualquier valor que le convenga. Si no desea que los scripts se ejecuten para siempre, puede limitar su tiempo de ejecución con la ayuda de lo siguiente:
240
es el número de segundos antes de que finalice el script y, como puede suponer, podría ser cualquier valor. Finalmente, si desea limitar el tiempo que un script puede analizar los datos de entrada, use esto:
Y establezca cualquier valor en segundos que más le convenga.
14. Ocultar tipos de archivos
A veces, no le gustaría que los usuarios supieran los tipos de archivo de los archivos de su sitio. Una forma de ocultar esta información es disfrazándola. Por ejemplo, puede hacer que todos sus archivos se vean como si fueran archivos HTML o PHP:
Hay mucho más que se puede hacer con .htaccess
. Por ejemplo, puede configurar la traducción automática de las páginas de su sitio, configurar la zona horaria del servidor, eliminar www de las URL, usar listados de directorios sofisticados, etc. En cualquier caso, antes de comenzar a experimentar con .htaccess
, siempre haga una copia de seguridad del original. .htaccess
, por lo que si las cosas no salen según lo planeado, tiene una copia de trabajo a la que volver.