El archivo .htaccess es un archivo de configuración que le permite controlar archivos y carpetas en el directorio actual y todos los subdirectorios. El nombre de archivo es un nombre abreviado para el acceso de hipertexto y es compatible con la mayoría de los servidores.
Para muchos usuarios de WordPress, su primer encuentro con el archivo .htaccess es cuando personalizan la configuración de enlace permanente de su sitio web . Para obtener esos hermosos enlaces permanentes que todos conocemos y amamos (por ejemplo, https://www.elegantthemes.com/sample-post/ en lugar de https://www.elegantthemes.com/?p=123), debemos agregar algo así al archivo .htaccess:
01
02
03
04
05
06
07
08
09
10
|
# BEGIN 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> # END WordPress |
Si no existe un archivo .htaccess, puede crear uno usted mismo y cargarlo. Todo lo que tiene que hacer es crear un archivo de texto en blanco, guardarlo como .htaccess y subirlo a la raíz de su instalación de WordPress. Asegúrese de incluir el punto al comienzo del nombre del archivo (es decir, guarde el archivo como .htaccess y no como htaccess).
También debe asegurarse de que su archivo .htaccess se pueda escribir para que WordPress pueda agregar el código de enlace permanente apropiado a su archivo .htaccess. WordPress.org recomienda permisos de archivo de 644 para el archivo .htaccess.
El archivo .htaccess no solo se usa para enlaces permanentes. El archivo es mejor conocido por su capacidad para fortalecer la seguridad de un sitio web. Millones de usuarios de WordPress usan el archivo .htaccess para proteger sus sitios web de spammers, piratas informáticos y otras amenazas conocidas.
En este artículo, me gustaría compartir con ustedes varios fragmentos de .htaccess que harán que su sitio web sea seguro. También he incluido algunos fragmentos adicionales que creo que le resultarán útiles.
Es posible que haya notado en mi ejemplo de enlace permanente anterior que el código comienza con #BEGIN WordPress y termina con #END WordPress . WordPress puede actualizar cualquier código que se coloque dentro de esas etiquetas. Por lo tanto, debe agregar los fragmentos que se muestran en este artículo en la parte superior o inferior de su archivo .htaccess (es decir, antes de # BEGIN WordPress o después de # END WordPress ).
El archivo .htaccess es uno de los archivos más temperamentales que encontrará al usar WordPress. Solo se necesita que un carácter esté fuera de lugar para que el código sea incorrecto. Cuando eso sucede, generalmente hará que todo su sitio web se caiga. Por lo tanto, es vital que copie correctamente el código anotado en este artículo en su propio archivo .htaccess.
Incluso si es cauteloso, pueden ocurrir accidentes, y suceden con frecuencia.
No corte las esquinas cuando trabaje con el archivo .htaccess. Antes de comenzar, haga una copia de seguridad de su versión de trabajo actual de .htaccess. Guárdelo en un lugar seguro en su computadora y, si es posible, en otra ubicación, como una unidad flash USB o en el almacenamiento en la nube.
Cada vez que actualice su archivo .htaccess en su servidor, actualice su sitio web para ver si su sitio web todavía está activo. No omita este paso, ya que es vital que verifique que su sitio web aún funciona correctamente. Si su sitio web muestra una pantalla en blanco, vuelva inmediatamente a su copia guardada de .htaccess cargándola sobre la versión con errores.
Si no puede ubicar su archivo de copia de seguridad, cargue un archivo .htaccess en blanco o elimine el archivo .htaccess por completo. Esto hará que su sitio web vuelva a estar en línea; que obviamente será su prioridad cuando su sitio web se desconecte.
No se arriesgue con .htaccess. Siempre tenga una copia de seguridad. Has sido advertido
1. Proteger .htaccess
Debido a cuánto control tiene .htaccess sobre todo su sitio web, es importante proteger el archivo de usuarios no autorizados. El siguiente fragmento evitará que los hackers accedan a su archivo .htaccess. Por supuesto, aún puede editar el archivo usted mismo a través de FTP y a través del administrador de archivos del panel de control de su alojamiento.
01
02
03
04
05
|
<files ~ "^.*.([Hh][Tt][Aa])" > order allow,deny deny from all satisfy all </files> |
2. Proteger WP-Config.php
Otro archivo importante es wp-config.php . Este archivo de configuración contiene la información de inicio de sesión para su base de datos de WordPress, así como otras configuraciones de mantenimiento importantes. Por lo tanto, es recomendable deshabilitar el acceso a la misma.
01
02
03
04
|
<files wp-config.php> order allow,deny deny from all </files> |
3. Proteger /Contenido Wp/
El directorio wp-content es una de las áreas más importantes de su sitio web de WordPress. Es donde se encuentran los archivos vitales, como sus temas, complementos, medios cargados (imágenes y videos) y archivos almacenados en caché.
Debido a esto, es uno de los principales objetivos de los piratas informáticos. Cuando un spammer logró comprometer un antiguo sitio web mío el año pasado, lo hizo cargando un script de correo electrónico en mi carpeta de cargas. Luego procedió a enviar correo no deseado usando mi servidor; que posteriormente colocó mi servidor en listas negras de spam.
Puede abordar amenazas como esta creando un archivo .htaccess separado y agregando el siguiente código:
01
02
03
04
05
|
Order deny,allow Deny from all <Files ~ ".(xml|css|jpe?g|png|gif|js)$" > Allow from all </Files> |
Luego, debe cargar este archivo .htaccess separado en el directorio principal de contenido de wp, es decir, www.yourwebsite.com/wp-content/. Hacer esto permitirá cargar archivos multimedia, incluidos XML, CSS, JPG, JPEG, PNG, Gif y Javascript. Todos los demás tipos de archivos serán denegados.
4. Bloquear archivos de solo inclusión
Hay ciertos archivos a los que el usuario nunca tiene que acceder. Puede bloquear el acceso a estos archivos agregando el siguiente código a su archivo .htaccess:
01
02
03
04
05
06
07
08
09
10
|
# Block the include -only files. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule> |
5. Restringir el acceso al área de administración
Otro punto de entrada para los piratas informáticos es el área de administración de WordPress. Si obtienen acceso a esta área, pueden hacer casi cualquier cosa en su sitio web.
Para hacer que esta área sea más segura, cree un nuevo archivo .htaccess y agréguele el siguiente código:
01
02
03
04
05
06
|
# Limit logins and admin by IP <Limit GET POST PUT> order deny,allow deny from all allow from 12.34.56.78 </Limit> |
Asegúrese de cambiar 12.34.56.78 a su propia dirección IP (puede encontrar su dirección IP en ¿ Cuál es mi IP? ). Luego suba el archivo a la carpeta /wp-admin/ de su sitio web, es decir, www.yourwebsite.com/wp-admin/.
Esto le permitirá acceder a su área de administración de WordPress, pero bloqueará a todos los demás.
Se pueden agregar direcciones IP adicionales para otros administradores y personal. Puede hacerlo agregando líneas de autorización adicionales o enumerando sus direcciones IP en la línea de autorización principal y separándolas con comas. Por ejemplo:
01
|
allow from 12.34.56.78, 98.76.54.32, 19.82.73.64 |
6. Prohibir a alguien de su sitio web
Si conoce la dirección IP de una parte malintencionada, puede prohibirla por completo en su sitio web utilizando el fragmento a continuación. Por ejemplo, podría prohibir a alguien que siempre deja comentarios abusivos o alguien que ha intentado acceder a su área de administración.
01
02
03
04
05
06
|
<Limit GET POST> order allow,deny deny from 123.456.78.9 deny from 987.654.32.1 allow from all </Limit> |
7. Enviar visitantes a una página de mantenimiento
Los complementos de mantenimiento, como Ultimate Maintenance Mode y Maintenance , son útiles para mostrar un mensaje temporal a los visitantes cuando está desarrollando un sitio web o cuando trabaja en segundo plano para actualizar su sitio web.
Desafortunadamente, los complementos de mantenimiento son de poca ayuda si se enfrenta a la infame pantalla blanca de la muerte de WordPress . Solo funcionan correctamente si su sitio web funciona correctamente.
Si quiere prepararse para lo peor, le recomiendo que cree una página HTML básica llamada mantenimiento.html que informe a los visitantes que actualmente tiene problemas con su sitio web, pero que pronto volverá a estar en línea. Cuando su sitio web se cae debido a un intento de piratería o debido a la pantalla blanca de la muerte , simplemente agregue el fragmento a continuación a su archivo .htaccess para dirigir todo el tráfico a su mensaje en maintenance.html.
01
02
03
04
|
RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123.123.123.123 RewriteRule $ /maintenance.html [R=302,L] |
Debe configurar el código anterior para su propio sitio web. Cambie el nombre del archivo html por el nombre y la ubicación de su propio archivo de mantenimiento en la segunda y cuarta fila. También debe agregar su propia dirección IP en la tercera fila para asegurarse de poder acceder a su sitio web mientras se muestra el mensaje de mantenimiento a otros. El código utiliza una redirección 302 para garantizar que la página de mantenimiento no esté indexada.
8. Deshabilitar la exploración de directorios
Permitir que personas no autorizadas vean sus archivos y carpetas puede ser un gran riesgo de seguridad. Para deshabilitar la exploración de sus directorios, simplemente agregue este pequeño fragmento de código a su archivo .htaccess:
01
02
|
# disable directory browsing Options All -Indexes |
9. Habilitar el almacenamiento en caché del navegador
El almacenamiento en caché del navegador es algo que discutí recientemente en mi artículo » Optimice su sitio web de WordPress usando estos simples consejos «. Una vez habilitado, el almacenamiento en caché del navegador permitirá a los visitantes guardar elementos de su página web para que no sea necesario descargarlos nuevamente.
Se utiliza para elementos de diseño como hojas de estilo CSS y elementos multimedia como imágenes. Es una solución práctica ya que cuando alguien carga una imagen en un sitio web, la imagen rara vez se actualiza nuevamente. Por lo tanto, el almacenamiento en caché del navegador permitiría a los visitantes cargar la imagen guardada en su computadora en lugar de su servidor. Esto reduce el ancho de banda y aumenta los tiempos de carga de la página.
Para habilitar el almacenamiento en caché de navegación, todo lo que necesita hacer es agregar este código a su archivo .htaccess:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
|
## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule> ## EXPIRES CACHING ## |
10. Redirigir una URL
Las redirecciones 301 le permiten informar a los motores de búsqueda que una URL se ha movido permanentemente a una nueva ubicación. Se pueden usar para redirigir una página, una carpeta o incluso un sitio web completamente nuevo.
Por lo tanto, se utilizan cada vez que cambia la URL de una página. Esto puede deberse a cambiar un dominio, cambiar la estructura de enlaces permanentes de su sitio web o simplemente cambiar el slug de la página (por ejemplo, cambiar el slug de la página de un artículo de my-news a mygreatnews ).
Para redirigir una ubicación, todo lo que necesita hacer es agregar una línea con Redirección 301, seguida de la ubicación anterior y luego la nueva ubicación. Puede ver cómo funciona esto en la práctica a continuación:
01
02
03
|
Redirect 301 /oldpage.html http: //www.yourwebsite.com/newpage.html Redirect 301 /oldfolder/page2.html /folder3/page7.html Redirect 301 / http: //www.mynewwebsite.com/ |
11. Deshabilitar enlaces activos
Hotlinking es una práctica en la que alguien comparte una imagen de su sitio web mediante un enlace directo a la URL de la imagen. Ocurre comúnmente en los foros de discusión, pero muchos propietarios de sitios web también lo hacen (lo cual es un error, ya que significa que las imágenes se pueden eliminar de su contenido en cualquier momento). Hotlinking puede tener un efecto negativo en su sitio web. Además de ralentizar su sitio web, también puede aumentar significativamente sus costos de ancho de banda con su empresa de alojamiento.
Puede evitar los enlaces directos si solo permite que su propio sitio web, y cualquier otro que posea, ejecute archivos de imagen. Agregue el código a continuación a su archivo .htaccess para evitar que otros enlacen sus imágenes. Asegúrese de reemplazar las URL a continuación con las direcciones de su propio sitio web.
01
02
03
04
05
|
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?: //(www.)?yourwebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?: //(www.)?yourotherwebsite.com [NC] RewriteRule .(jpg|jpeg|png|gif)$ http: //i.imgur.com/g7ptdBB.png [NC,R,L] |
Ahora, cuando alguien vea una imagen tuya en otra URL, se le mostrará la imagen indicada en la última línea de código. Esta imagen se puede cambiar a lo que quieras.
* Tenga en cuenta que deshabilitar los enlaces directos puede causar que algunos lectores de RSS tengan problemas para mostrar sus imágenes desde su fuente RSS.
Espero que haya disfrutado de esta lista de consejos y trucos para el archivo .htaccess. Como puede ver, es un archivo de configuración versátil que se puede usar para muchas cosas.
Si te ha gustado este artículo, te animo a que te suscribas al Blog de Elegant Themes. Además, no dude en compartir sus propios consejos y trucos de .htaccess con otras personas en el área de comentarios
Imagen en miniatura del artículo por venimo / shutterstock.com