@@ -130,7 +130,7 @@ Options -MultiViews
130
130
# the `X-UA-Compatible` response header should be send only for
131
131
# HTML documents and not for the other resources.
132
132
133
- <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$" >
133
+ <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest| woff2?|xloc|xml|xpi)$" >
134
134
Header unset X-UA-Compatible
135
135
</FilesMatch >
136
136
@@ -185,37 +185,7 @@ Options -MultiViews
185
185
186
186
# Manifest files
187
187
188
- # If you are providing a web application manifest file (see
189
- # the specification: https://w3c.github.io/manifest/), it is
190
- # recommended that you serve it with the `application/manifest+json`
191
- # media type.
192
- #
193
- # Because the web application manifest file doesn't have its
194
- # own unique file extension, you can set its media type either
195
- # by matching:
196
- #
197
- # 1) the exact location of the file (this can be done using a
198
- # directive such as `<Location>`, but it will NOT work in
199
- # the `.htaccess` file, so you will have to do it in the main
200
- # server configuration file or inside of a `<VirtualHost>`
201
- # container)
202
- #
203
- # e.g.:
204
- #
205
- # <Location "/.well-known/manifest.json">
206
- # AddType application/manifest+json json
207
- # </Location>
208
- #
209
- # 2) the filename (this can be problematic as you will need to
210
- # ensure that you don't have any other file with the same name
211
- # as the one you gave to your web application manifest file)
212
- #
213
- # e.g.:
214
- #
215
- # <Files "manifest.json">
216
- # AddType application/manifest+json json
217
- # </Files>
218
-
188
+ AddType application/manifest+json webmanifest
219
189
AddType application/x-web-app-manifest+json webapp
220
190
AddType text/cache-manifest appcache
221
191
@@ -297,11 +267,13 @@ AddDefaultCharset utf-8
297
267
.js \
298
268
.json \
299
269
.jsonld \
270
+ .manifest \
300
271
.rdf \
301
272
.rss \
302
273
.topojson \
303
274
.vtt \
304
275
.webapp \
276
+ .webmanifest \
305
277
.xloc \
306
278
.xml
307
279
</IfModule >
@@ -475,7 +447,7 @@ AddDefaultCharset utf-8
475
447
# # the `X-Frame-Options` response header should be send only for
476
448
# # HTML documents and not for the other resources.
477
449
478
- # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
450
+ # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest| woff2?|xloc|xml|xpi)$">
479
451
# Header unset X-Frame-Options
480
452
# </FilesMatch>
481
453
@@ -510,7 +482,7 @@ AddDefaultCharset utf-8
510
482
# # the `Content-Security-Policy` response header should be send
511
483
# # only for HTML documents and not for the other resources.
512
484
513
- # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
485
+ # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest| woff2?|xloc|xml|xpi)$">
514
486
# Header unset Content-Security-Policy
515
487
# </FilesMatch>
516
488
@@ -678,7 +650,7 @@ AddDefaultCharset utf-8
678
650
# # the `X-XSS-Protection` response header should be send only for
679
651
# # HTML documents and not for the other resources.
680
652
681
- # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
653
+ # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest| woff2?|xloc|xml|xpi)$">
682
654
# Header unset X-XSS-Protection
683
655
# </FilesMatch>
684
656
@@ -878,9 +850,12 @@ FileETag None
878
850
ExpiresDefault "access plus 1 month"
879
851
880
852
# CSS
853
+
881
854
ExpiresByType text/css "access plus 1 year"
882
855
856
+
883
857
# Data interchange
858
+
884
859
ExpiresByType application/atom+xml "access plus 1 hour"
885
860
ExpiresByType application/rdf+xml "access plus 1 hour"
886
861
ExpiresByType application/rss+xml "access plus 1 hour"
@@ -892,25 +867,33 @@ FileETag None
892
867
ExpiresByType application/xml "access plus 0 seconds"
893
868
ExpiresByType text/xml "access plus 0 seconds"
894
869
870
+
895
871
# Favicon (cannot be renamed!) and cursor images
872
+
896
873
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
897
874
ExpiresByType image/x-icon "access plus 1 week"
898
875
899
876
# HTML
877
+
900
878
ExpiresByType text/html "access plus 0 seconds"
901
879
880
+
902
881
# JavaScript
882
+
903
883
ExpiresByType application/javascript "access plus 1 year"
904
884
ExpiresByType application/x-javascript "access plus 1 year"
905
885
ExpiresByType text/javascript "access plus 1 year"
906
886
887
+
907
888
# Manifest files
908
- ExpiresByType application/manifest+json "access plus 1 year"
909
889
890
+ ExpiresByType application/manifest+json "access plus 1 week"
910
891
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
911
892
ExpiresByType text/cache-manifest "access plus 0 seconds"
912
893
894
+
913
895
# Media files
896
+
914
897
ExpiresByType audio/ogg "access plus 1 month"
915
898
ExpiresByType image/bmp "access plus 1 month"
916
899
ExpiresByType image/gif "access plus 1 month"
@@ -922,6 +905,7 @@ FileETag None
922
905
ExpiresByType video/ogg "access plus 1 month"
923
906
ExpiresByType video/webm "access plus 1 month"
924
907
908
+
925
909
# Web fonts
926
910
927
911
# Embedded OpenType (EOT)
@@ -942,7 +926,9 @@ FileETag None
942
926
# Web Open Font Format (WOFF) 2.0
943
927
ExpiresByType application/font-woff2 "access plus 1 month"
944
928
929
+
945
930
# Other
931
+
946
932
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
947
933
948
934
</IfModule >
@@ -994,5 +980,5 @@ FileETag None
994
980
# <IfModule mod_rewrite.c>
995
981
# RewriteEngine On
996
982
# RewriteCond %{REQUEST_FILENAME} !-f
997
- # RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L]
983
+ # RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp|webmanifest )$ $1.$3 [L]
998
984
# </IfModule>
0 commit comments