35 lines
1.5 KiB
ApacheConf
35 lines
1.5 KiB
ApacheConf
# ─── Désactiver le listing des répertoires ──────────────────────────────────
|
|
Options -Indexes
|
|
|
|
# ─── Bloquer les fichiers sensibles ─────────────────────────────────────────
|
|
<FilesMatch "\.(zip|tar|gz|rar|7z|sql|log|env|bak|old|orig|save|swp|tmp|sh|py|rb|pl)$">
|
|
Order allow,deny
|
|
Deny from all
|
|
</FilesMatch>
|
|
|
|
# ─── Bloquer l'accès direct aux fichiers cachés (.htaccess, .env, etc.) ─────
|
|
<FilesMatch "^\.">
|
|
Order allow,deny
|
|
Deny from all
|
|
</FilesMatch>
|
|
|
|
# ─── Headers de sécurité ─────────────────────────────────────────────────────
|
|
<IfModule mod_headers.c>
|
|
Header always set X-Content-Type-Options "nosniff"
|
|
Header always set X-Frame-Options "SAMEORIGIN"
|
|
Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
|
</IfModule>
|
|
|
|
# ─── SPA routing (React Router / Vite) ──────────────────────────────────────
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine On
|
|
RewriteBase /
|
|
|
|
# Ne pas réécrire les fichiers et dossiers existants
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
RewriteCond %{REQUEST_FILENAME} !-d
|
|
|
|
# Tout le reste → index.html
|
|
RewriteRule ^ index.html [L]
|
|
</IfModule>
|