Retour aux outils

Générateur .htaccess

Activez les blocs de règles dont vous avez besoin — redirections, HTTPS, pages d'erreur, protection par mot de passe, renforcement de la sécurité, mise en cache — et composez-les en un seul fichier .htaccess ordonné. Chaque champ est rendu comme du texte brut, donc rien de ce que vous tapez ici ne s'exécute jamais.

Redirections

Redirections d'URL 301 / 302

Envoyez un ancien chemin vers un nouveau. S'exécute avant le contrôleur frontal fourre-tout, donc le routage d'une appli PHP n'avale jamais ces redirections.


Schéma et hôte

Forcer HTTPS et canonicalisation www

Un site devrait répondre sur exactement un schéma et un hôte. Tout le reste devrait rediriger vers celui-ci.

www ⇄ sans www

Erreurs

Pages d'erreur personnalisées

Servez votre propre page au lieu de celle par défaut d'Apache quand une requête renvoie un 404, un accès interdit, ou que le serveur s'étouffe.

Contrôle d'accès

Protéger un répertoire par mot de passe

Authentification Basic via Apache lui-même — une invite de connexion devant un dossier, sans code applicatif.

Renforcement

Renforcement de la sécurité

De petites directives qui bloquent des erreurs de configuration courantes et réellement exploitées.

Performance

Compression et mise en cache navigateur

Deux gains indépendants : des réponses plus légères sur le réseau, et les visiteurs récurrents qui évitent complètement la requête.

Bande passante

Protection contre le hotlinking

Empêchez d'autres sites d'intégrer directement vos images et de consommer votre bande passante, en vérifiant l'en-tête Referer.

Applications PHP

Réécriture vers un contrôleur frontal

Route chaque requête qui n'est pas un vrai fichier ou dossier vers un seul fichier PHP, pour que le routeur propre à l'application décide quoi en faire.

Fichier composé

.htaccess

Les règles de réécriture s'exécutent de haut en bas dans un même bloc de moteur, dans cet ordre :

  1. Forcer HTTPS

.htaccess composé

# .htaccess — composed with Wespner's .htaccess Generator
# Review before deploying: https://wespner.eu/tools

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Force HTTPS
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

# Custom error pages
ErrorDocument 404 /errors/404.html

# Block access to dotfiles (.git, .env, .htpasswd, ...)
<IfModule mod_authz_core.c>
    <FilesMatch "^\.">
        Require all denied
    </FilesMatch>
</IfModule>

# Disable directory listing
Options -Indexes

# Disable the Apache version banner on error pages
ServerSignature Off

Vous êtes sur nginx ? .htaccess ne fait rien.

C'est un mécanisme propre à Apache, et même sur Apache il est souvent désactivé (AllowOverride None) car le vérifier à chaque requête est lent. Nginx a besoin des règles équivalentes écrites directement dans un bloc serveur à la place. Convertir ceci en config Nginx

Vous gérez votre propre serveur de jeu ?

Serveurs de jeu Wespner avec protection DDoS, disques NVMe et activation en quelques minutes.

Découvrir l'hébergement