Options -Indexes

# Si le site ne reçoit pas directement un flux HTTPS (par exemple : un reverse proxy en amont gérant le SSL et redirigeant en HTTP en local),
# il faut forcer le protocol HTTPS pour éviter une redirection infinie HTTP vers HTTPS en décommentant la ligne ci-dessous.
# SetEnv HTTPS on

<IfModule headers_module>
    # Si en HTTPS décommenter la ligne-ci dessous.
    Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

    # Si en HTTP décommenter la ligne-ci dessous.
    # Header edit Set-Cookie ^(.*)$ $1;HttpOnly

    Header unset Server
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Content-Security-Policy "default-src 'self' data: blob: https: 'unsafe-inline' 'unsafe-eval'"
    Header always set X-Xss-Protection "1; mode=block"
</IfModule>

<Files sauvegarde.php>
    <LimitExcept POST>
      Order Allow,Deny
      Deny from all
    </LimitExcept>
</Files>
<Files license.txt>
    Order Allow,Deny
    Deny from all
</Files>
<Files readme.html>
    Order Allow,Deny
    Deny from all
</Files>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# RewriteCond %{HTTPS} !=on
#     RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Filtrage de l'admin par IP
# 92.154.2.132 : Laurence
# 82.64.1.11 : Andrea
# 5.39.86.27 : Backup Andrea
RewriteCond %{HTTP:X-Forwarded-For} !^92\.154\.2\.132$
RewriteCond %{HTTP:X-Forwarded-For} !^82\.64\.1\.11$
RewriteCond %{HTTP:X-Forwarded-For} !^5\.39\.86\.27$
RewriteCond %{HTTP:X-Forwarded-For} !^158\.191\.1\.6$
    RewriteRule ^cccc-page /404/ [R=301,L]

RewriteCond %{HTTP:X-Forwarded-For} !^92\.154\.2\.132$
RewriteCond %{HTTP:X-Forwarded-For} !^82\.64\.1\.11$
RewriteCond %{HTTP:X-Forwarded-For} !^5\.39\.86\.27$
RewriteCond %{HTTP:X-Forwarded-For} !^158\.191\.1\.6$
    RewriteRule ^admin - [R=404,L]

RewriteCond %{HTTP:X-Forwarded-For} !^92\.154\.2\.132$
RewriteCond %{HTTP:X-Forwarded-For} !^82\.64\.1\.11$
RewriteCond %{HTTP:X-Forwarded-For} !^5\.39\.86\.27$
RewriteCond %{HTTP:X-Forwarded-For} !^158\.191\.1\.6$
    RewriteRule ^wp-admin - [R=404,L]

RewriteCond %{HTTP:X-Forwarded-For} !^92\.154\.2\.132$
RewriteCond %{HTTP:X-Forwarded-For} !^82\.64\.1\.11$
RewriteCond %{HTTP:X-Forwarded-For} !^5\.39\.86\.27$
RewriteCond %{HTTP:X-Forwarded-For} !^158\.191\.1\.6$
    RewriteRule ^wp-login - [R=404,L]

RewriteCond %{HTTP:X-Forwarded-For} !^92\.154\.2\.132$
RewriteCond %{HTTP:X-Forwarded-For} !^82\.64\.1\.11$
RewriteCond %{HTTP:X-Forwarded-For} !^5\.39\.86\.27$
RewriteCond %{HTTP:X-Forwarded-For} !^158\.191\.1\.6$
    RewriteRule ^xmlrpc.php - [R=404,L]

RewriteCond %{QUERY_STRING} ^author=([0-9]*) [NC]
    RewriteRule .* /? [L,R=302]
RewriteRule ^wp-json/wp/v2/users / [NC,L,R=302]

RewriteCond %{REQUEST_URI} wp-login.php [NC]

RewriteCond %{QUERY_STRING} ^action=lostpassword [NC]
    RewriteRule .* /? [L,R=302]
</IfModule>

# BEGIN WordPress
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
# Toute modification des directives situées entre ces marqueurs sera surchargée.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress