AddDefaultCharset UTF-8

RedirectMatch 404 /\.git
RedirectMatch 404 /\.gitignore
RedirectMatch 404 /\.htaccess
RedirectMatch 404 /\.scripts
RedirectMatch 404 /\.github
RedirectMatch 404 /\.asf\.yaml

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "https://echarts.apache.org"
    Header set Access-Control-Allow-Methods "*"
    Header set Access-Control-Allow-Headers "*"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options "sameorigin"
    Header set X-Content-Type-Options "nosniff"
</IfModule>

<IfModule mod_expires.c>E
    # disable expiration as the Apache server will also cache the `Expires` header,
    # which causes our expiration strategy not to work.
    #ExpiresActive on

    ExpiresByType text/html                 "access plus 1 hour"
    ExpiresByType text/css                  "access plus 1 hour"
    ExpiresByType application/javascript    "access plus 1 hour"
    ExpiresByType application/json          "access plus 1 hour"
    ExpiresByType text/javascript           "access plus 1 hour"
    ExpiresByType text/json                 "access plus 1 hour"

    #ExpiresByType image/png                 "access plus 1 hour"
    #ExpiresByType image/jpg                 "access plus 1 hour"
    #ExpiresByType image/jpeg                "access plus 1 hour"
    #ExpiresByType image/webp                "access plus 1 hour"

    ExpiresDefault                          "access plus 10 days"
</IfModule>

# no cache for root index redirection
<If "%{REQUEST_URI} =~ m#^/?(((examples)|(handbook))/?)?([\w\-]+\.html)?$#">
    <IfModule mod_expires.c>
        ExpiresActive off
    </IfModule>

    <IfModule mod_headers.c>
        Header always set Cache-Control "no-store, no-cache, must-revalidate"
        Header always set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
        Header always merge Vary "Accept-Language"
    </IfModule>
</If>

<IfModule mod_headers.c>
    <FilesMatch ".+\.(?<imgExt>webp|apng|avif)$">
        Header setifempty Content-Type "image/%{MATCH_imgExt}e"
    </FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteCond "%{HTTP:Accept-Language}" ^zh [NC]
  RewriteRule ^/?(index\.html)?$ "/zh/index.html" [L,R=302]

  RewriteRule ^/?(index\.html)?$ "/en/index.html" [L,R=302]

  # special redirection for examples & handbook
  RewriteCond "%{HTTP:Accept-Language}" ^zh [NC]
  RewriteRule ^/?((examples)|(handbook))/?([\w\-]+\.html)?$ "/$1/zh/$4" [L,R=302]

  RewriteRule ^/?((examples)|(handbook))/?([\w\-]+\.html)?$ "/$1/en/$4" [L,R=302]

  RewriteCond "%{HTTP:Accept-Language}" ^zh [NC]
  RewriteRule ^/?([\w\-]+)\.html$ "/zh/$1.html" [L,R=302]

  RewriteRule ^/?([\w\-]+)\.html$ "/en/$1.html" [L,R=302]
</IfModule>
