# Enable mod_headers if it's not already enabled
<IfModule mod_headers.c>
    # Allow cross-origin requests
    Header set Access-Control-Allow-Origin "*"
    
    # Allow credentials (cookies, HTTP authentication) to be included in cross-origin requests
    Header set Access-Control-Allow-Credentials true

    # Allow specific HTTP methods (e.g., GET, POST, PUT, DELETE)
    Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"

    # Allow specific HTTP headers (customize as needed)
    Header set Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With"

    # Cache the preflight request result for 1 day to reduce the number of requests
    Header set Access-Control-Max-Age 86400

    # Handle preflight requests (OPTIONS method)
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} OPTIONS
    RewriteRule ^(.*)$ $1 [R=200,L]
</IfModule>
