blob: 6de828b7282cd722cf77823e3e72722f7b46d746 [file] [log] [blame]
<IfModule mod_deflate.c>
# Insert filters / compress text, html, javascript, css, xml:
# mod_deflate can be used for Apache v2 and later and is the recommended GZip mechanism to use
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
# Exception: Images
SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png)$ no-gzip dont-vary
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/xml "access plus 2 days"
ExpiresByType image/x-icon "access plus 6 months"
ExpiresByType image/jpg "access plus 6 months"
ExpiresByType image/jpeg "access plus 6 months"
ExpiresByType image/gif "access plus 6 months"
ExpiresByType image/png "access plus 6 months"
ExpiresByType image/svg+xml "access plus 6 months"
ExpiresByType application/pdf "access plus 6 months"
ExpiresByType font/eot "access plus 6 months"
ExpiresByType font/opentype "access plus 6 months"
ExpiresByType font/woff2 "access plus 6 months"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|svg)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
<FilesMatch "\.(xml)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(html|htm|txt)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz|html|ttf)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
Options +Includes
AddOutputFilter INCLUDES .html
Redirect 301 /download.html /download.cgi
Redirect 301 /news.html /events.html
Redirect 301 /features/java.html /features/multilanguage.html
Redirect 301 /features/dotnet.html /features/multilanguage.html
Redirect 301 /features/cpp.html /features/multilanguage.html
Redirect 301 /features/clientprotos.html /features/multilanguage.html
Redirect 301 /collocatedprocessing.html /features/collocated-processing.html
Redirect 301 /features/durablememory.html /arch/multi-tier-storage.html
Redirect 301 /arch/durablememory.html /arch/multi-tier-storage.html
Redirect 301 /memorycentric.html /arch/multi-tier-storage.html
Redirect 301 /arch/memorycentric.html /arch/multi-tier-storage.html
Redirect 301 /features/persistence.html /arch/native-persistence.html
Redirect 301 /features/deploy.html /arch/clustering.html
Redirect 301 /features/igniterdd.html /use-cases/spark/shared-memory-layer.html
Redirect 301 /use-cases/spark/shared-memory-layer.html /use-cases/spark-acceleration.html
Redirect 301 /use-cases/spark/sql-queries.html /use-cases/spark-acceleration.html
Redirect 301 /use-cases/caching/database-caching.html /use-cases/in-memory-cache.html
Redirect 301 /use-cases/database/in-memory-database.html /use-cases/in-memory-database.html
Redirect 301 /use-cases/database/distributed-database.html /use-cases/in-memory-database.html
Redirect 301 /use-cases/database/sql-database.html /use-cases/in-memory-database.html
Redirect 301 /use-cases/hadoop/mapreduce.html /use-cases/hadoop-acceleration.html
Redirect 301 /use-cases/hadoop/hdfs-cache.html /use-cases/hadoop-acceleration.html
Redirect 301 /features/igfs.html /use-cases/hadoop-acceleration.html
Redirect 301 /features/mapreduce.html /use-cases/hadoop-acceleration.html
Redirect 301 /use-cases/database/key-value-store.html /use-cases/key-value-store.html
Redirect 301 /usecases.html /
Redirect 301 /use-cases/comparison/ignite-for-rdbms.html /
Redirect 301 /use-cases/comparison/ignite-for-nosql.html /
Redirect 301 /features/datagrid.html /use-cases/in-memory-data-grid.html
Redirect 301 /use-cases/platforms/dotnet.html /features/multilanguage.html
Redirect 301 /provenusecases.html /use-cases/provenusecases.html
Redirect 301 /features/datavisualization.html /features/management-and-monitoring.html
Redirect 301 /addons.html /features.html
Redirect 301 /arch/durablememory.html /arch/multi-tier-storage.html
Redirect 301 /features/runseverywhere.html /features/multilanguage.html
Redirect 301 /features/igniterdd.html /use-cases/spark-acceleration.html
Redirect 301 /blogs.html /
Redirect 301 /features/computegrid.html /features/collocated-processing.html
Redirect 301 /use-cases/datagrid.html /use-cases/in-memory-data-grid.html
Redirect 301 /arch/persistence.html /arch/native-persistence.html
Redirect 301 /features/transactions.html /features/acid-transactions.html
Redirect 301 /features/collocatedprocessing.html /features/collocated-processing.html
Redirect 301 /use-cases/hpc.html /use-cases/high-performance-computing.html
Redirect 301 /features/manageandmonitor.html /features/management-and-monitoring.html
Redirect 301 /features/rdbmsintegration.html /features/management-and-monitoring.html
## fixes for 404 reports on GSC
Redirect 301 /Features /features.html
Redirect 301 /Sample /
Redirect 301 /whatisignite-2.html /whatisignite.html
Redirect 301 /use-cases/hadoop/mapreduce /use-cases/hadoop-acceleration.html
Redirect 301 /use-cases/hadoop/hdfs-cache /use-cases/hadoop-acceleration.html
Redirect 301 /use-cases/compare/gemfire.html /
Redirect 301 /use-cases/compare/coherence.html /
Redirect 301 /use-cases/caching/key-value-store /use-cases/key-value-store.html
Redirect 301 /use-cases/caching/key-value-store.html /use-cases/key-value-store.html
Redirect 301 /use-cases/caching/database-caching /use-cases/in-memory-cache.html
Redirect 301 /releases/latest/javadoc/org/apache/ignite/yarn/class-use/IgniteProvider.VersionComparator.html /releases/latest/javadoc/org/apache/ignite/yarn/IgniteProvider.html
## Fix for IGNITE-14392
Redirect 301 /docs/latest/SQL/sql-transactions /docs/latest/SQL/sql-introduction
## Added by new site in 2021
Redirect 301 /in-memory-computing.html /faq.html
Redirect 301 /whatisignite.html /faq.html
Redirect 301 /screencasts.html /events.html
Redirect 301 /meetup-groups.html /events.html
Redirect 301 /docs/latest/index /docs/latest/
Redirect 301 /features/collocated-processing.html /features/compute-apis.html
Redirect 301 /community/resources.html /resources.html
Redirect 301 /community/contribute.html /our-community.html
Redirect 301 /community.html /our-community.html
##
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?ignite.incubator.apache.org$
RewriteRule ^/?(.*)$ https://ignite.apache.org/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]
RewriteRule ^releases/latest/(.*)$ /releases/2.12.0/$1 [L]
RewriteRule ^releases/mobile/(.*)$ /releases/latest/javadoc/$1 [R=301,L]
#redirects all 404 pages under api doc path, to it corresponding index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^releases/(.*)/(javadoc|scaladoc|cppdoc|dotnetdoc)/(.*)$ /releases/latest/$2/ [R=301,L]
#rewrite for user docs .html files
RewriteRule ^docs/?$ /docs/latest/ [R=301,L]
RewriteRule ^docs/latest$ /docs/latest/ [R=301,L]
RewriteRule ^docs/latest/(.*)$ /docs/2.12.0/$1 [L]
#removes trailing slash under docs
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^docs/(.*)/$ /docs/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^docs/(.*)$ /docs/$1.html [NC]
ErrorDocument 404 /404.html