htaccess

#Par défaut sous WordPress

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
 RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
</IfModule>
# END WordPress

#Sécurisons d'abord notre site :

#Blocage de la visibilité du fichier wp-config.php
<Files wp-config.php>
order allow,deny
deny from all
</Files>
#Fin du blocage

#Interdiction de visualisation des repertoires du site :
Options All -Indexes

# Masquer les informations relatives au serveur :
ServerSignature Off

# Protéger .htaccess et .htpasswds
<Files ~ "^.*\.([Hh][Tt][AaPp])">
order allow,deny
deny from all
satisfy all
</Files>

# Masquer l'identification d'un auteur
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* - [F]
</IfModule>

# Éviter le spam de commentaires
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.monsite.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

#Limiter l'accès au site à certains utilisateurs - Il faudra remplacer xxx.xxx.xxx.xxx par l'adresse IP
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xxx.xxx
allow from all
</Limit>

#Optimisons les éléments favorables au référencement naturel

#Retirer l'expression "category" de vos urls
RewriteRule ^category/(.+)$ https://www.yourblog.com/$1 [R=301,L]

#Autoriser l'utilisation du cache
<Ifmodule mod_expires.c>  
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch> </ifmodule>

#Rediriger les internautes vers une page de maintenance - Lorsque vous faîtes des modifications
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

#Installer une redirection 301
Redirect 301 /www.monsite.com/monanciennepage.com /
 https.monsite.com/manouvellepage.com