| 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> |