# MFT GROUP Security Configuration
# This .htaccess file provides basic security for the application

# Prevent directory listing
Options -Indexes

# Secure sensitive files
<Files "database/*">
    Order Allow,Deny
    Deny from all
</Files>

<Files "config.php">
    Order Allow,Deny
    Deny from all
</Files>

<Files "init_db.php">
    Order Allow,Deny
    Deny from all
</Files>

<Files "init_db.bat">
    Order Allow,Deny
    Deny from all
</Files>

# Prevent access to README and documentation files
<FilesMatch "\.(md|markdown|txt)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Prevent access to backup files
<FilesMatch "\.(bak|backup|sql)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Secure HTML files - only allow access to specific files
<FilesMatch "\.html$">
    Order Allow,Deny
    Allow from all
</FilesMatch>

# Allow access to document files
<FilesMatch "\.(pdf|jpg|jpeg|png|gif|doc|docx)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>

# Allow access to documents directory
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^documents/(.*)$ documents/$1 [L]
</IfModule>

# Set cache control for static files
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType application/pdf "access plus 1 month"
</IfModule>

# Compress static files
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/pdf
</IfModule>