fichero .htaccess por defecto o predeterminado para WordPress y MU

El htaccess es un archivo de texto plano en el que se insertan una o varias directivas de configuración. Se puede usar en la raíz del sitio o en cualquier directorio especifico, siempre que la directiva «AllowOverride» en la configuración principal de Apache lo permita. Es por tanto un archivo de configuración interpretable por servidores web Apache y otros servidores web compatibles como LiteSpeed. Al llevar un punto delante, este fichero aparecerá por defecto oculto, evitando así ser borrado de forma accidental. Este fichero no se utilizaría en el caso de que nuestro servidor web sea Nginx, que necesitará una configuración específica.

Al ser un fichero de configuración, puede ser empleado para muchas tareas, entre ellas:

  • Crear direcciones amigables
  • Crear redirecciones
  • Restringir el acceso a directorios del servidor
  • Bloquear el acceso desde ciertas direcciones IP
  • Manejar errores del servidor
  • Evitar el hotlink o enlace a imágenes
  • Cambiar un dominio con o sin WWW

El .htaccess en wordpress

En el caso de WordPress, se emplea el archivo .htaccess para gestionar las URL’s amigables (Permalinks en WP) o slugs, mediante la función mod_rewrite_rules

Archivo .htaccess por defecto de una instalación de WordPress:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

En el caso de disponer de una instalación de WordPress Multisitio, configurado para trabajar con carpetas y no con subdominios, el contenido de nuestro .htaccess sería el que sigue:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
	
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

Más información en el CODEX de WordPress: https://codex.wordpress.org/htaccess

Artículos relacionados