DirectoryIndex home.php
Options -Indexes

RewriteEngine On
RewriteBase /lms/

# ---------------------------------------------------------------------------
# Never serve secrets, dumps, logs, docs or dependency manifests
# ---------------------------------------------------------------------------
<FilesMatch "^(\.env.*|\.git.*|composer\.(json|lock)|.*\.(sql|log|bak))$|^error_log$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

# ---------------------------------------------------------------------------
# Security headers
# ---------------------------------------------------------------------------
<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>

# ---------------------------------------------------------------------------
# MIME types for video/audio lessons
# ---------------------------------------------------------------------------
AddType video/mp4 .mp4 .m4v
AddType video/webm .webm
AddType video/ogg .ogg .ogv
AddType video/x-msvideo .avi
AddType video/quicktime .mov
AddType video/x-ms-wmv .wmv
AddType video/x-flv .flv
AddType video/x-matroska .mkv
AddType video/3gpp .3gp

AddType audio/mpeg .mp3
AddType audio/wav .wav
AddType audio/ogg .ogg .oga
AddType audio/aac .aac
AddType audio/mp4 .m4a
AddType audio/flac .flac
AddType audio/x-ms-wma .wma

# Allow media files to be streamed cross-origin (range requests)
<IfModule mod_headers.c>
    <FilesMatch "\.(mp4|webm|ogg|ogv|mp3|wav|aac|m4a|flac)$">
        Header set Access-Control-Allow-Origin "*"
        Header set Access-Control-Allow-Methods "GET, OPTIONS"
        Header set Access-Control-Allow-Headers "Range"
    </FilesMatch>
</IfModule>

# ---------------------------------------------------------------------------
# Clean URLs: /lms/courses/detail -> /lms/courses/detail.php (applies to every folder)
# ---------------------------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
