Files
2025-07-21 13:33:23 +04:00

58 lines
1.3 KiB
Plaintext

RewriteEngine On
# ======================
# SÉCURITÉ
# ======================
# Bloquer l'accès aux fichiers de configuration
<Files ~ "\.(inc|conf|config|local)$">
Require all denied
</Files>
# Bloquer les fichiers PHP dans includes/
<Files "includes/*.php">
Require all denied
</Files>
# Protéger les répertoires sensibles
RewriteRule ^(includes|cache|docs|conf)/ - [F,L]
# Bloquer les fichiers samples et backups
<FilesMatch "\.(sample|bak|backup|log|tmp)$">
Require all denied
</FilesMatch>
# Empêcher l'exploration des répertoires
Options -Indexes
# Bloquer l'accès aux fichiers cachés
<FilesMatch "^\.">
Require all denied
</FilesMatch>
# ======================
# RÉÉCRITURE D'URL
# ======================
# Masquer l'extension .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# Rediriger les URLs avec .php vers les URLs sans extension
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R=301]
# Pour accéder à page.php via /page
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)$ $1.php [L]
# ======================
# HTTPS
# ======================
# Force HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} !on
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]