# 前端性能优化配置
<IfModule mod_deflate.c>
    # 启用Gzip压缩
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/javascript
    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/json
</IfModule>

<IfModule mod_expires.c>
    # 启用浏览器缓存
    ExpiresActive On
    
    # 图片缓存6个月
    ExpiresByType image/jpeg "access plus 6 months"
    ExpiresByType image/png "access plus 6 months"
    ExpiresByType image/gif "access plus 6 months"
    ExpiresByType image/ico "access plus 6 months"
    ExpiresByType image/svg+xml "access plus 6 months"
    
    # CSS/JS缓存1个月
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    
    # 字体文件缓存6个月
    ExpiresByType font/woff "access plus 6 months"
    ExpiresByType font/woff2 "access plus 6 months"
    ExpiresByType application/x-font-ttf "access plus 6 months"
</IfModule>

<IfModule mod_headers.c>
    # 静态资源缓存控制
    <FilesMatch "\.(css|js)$">
        Header set Cache-Control "public, max-age=2592000"
    </FilesMatch>
    
    <FilesMatch "\.(jpg|jpeg|png|gif|ico|svg|woff|woff2)$">
        Header set Cache-Control "public, max-age=15552000"
    </FilesMatch>
    
    # PHP文件不缓存
    <FilesMatch "\.php$">
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
    </FilesMatch>
</IfModule>

# 禁用目录浏览
Options -Indexes

# 保护敏感文件
<FilesMatch "^\.">
    Order allow,deny
    Deny from all
</FilesMatch>