mirror of
https://github.com/kremalicious/blog.git
synced 2025-02-14 21:10:25 +01:00
Apache Server Configs v2.10.0
This commit is contained in:
parent
8bf7d0eba0
commit
952820b6f5
324
_src/.htaccess
324
_src/.htaccess
@ -1,6 +1,6 @@
|
|||||||
# BEGIN HTML5 Boilerplate
|
# BEGIN HTML5 Boilerplate
|
||||||
|
|
||||||
# Apache Server Configs v2.9.0 | MIT License
|
# Apache Server Configs v2.10.0 | MIT License
|
||||||
# https://github.com/h5bp/server-configs-apache
|
# https://github.com/h5bp/server-configs-apache
|
||||||
|
|
||||||
# (!) Using `.htaccess` files slows down Apache, therefore, if you have
|
# (!) Using `.htaccess` files slows down Apache, therefore, if you have
|
||||||
@ -19,9 +19,9 @@
|
|||||||
|
|
||||||
# Allow cross-origin requests.
|
# Allow cross-origin requests.
|
||||||
|
|
||||||
|
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
|
||||||
# http://enable-cors.org/
|
# http://enable-cors.org/
|
||||||
# http://www.w3.org/TR/cors/
|
# http://www.w3.org/TR/cors/
|
||||||
# https://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
|
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
# Header set Access-Control-Allow-Origin "*"
|
# Header set Access-Control-Allow-Origin "*"
|
||||||
@ -32,14 +32,13 @@
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Send the CORS header for images when browsers request it.
|
# Send the CORS header for images when browsers request it.
|
||||||
|
#
|
||||||
# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image
|
# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image
|
||||||
# https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
|
# https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
|
||||||
# https://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
|
|
||||||
|
|
||||||
<IfModule mod_setenvif.c>
|
<IfModule mod_setenvif.c>
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
<FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
||||||
SetEnvIf Origin ":" IS_CORS
|
SetEnvIf Origin ":" IS_CORS
|
||||||
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
@ -63,13 +62,14 @@
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Allow cross-origin access to the timing information for all resources.
|
# Allow cross-origin access to the timing information for all resources.
|
||||||
|
#
|
||||||
# If a resource isn't served with a `Timing-Allow-Origin` header that
|
# If a resource isn't served with a `Timing-Allow-Origin` header that
|
||||||
# would allow its timing information to be shared with the document,
|
# would allow its timing information to be shared with the document,
|
||||||
# some of the attributes of the `PerformanceResourceTiming` object will
|
# some of the attributes of the `PerformanceResourceTiming` object will
|
||||||
# be set to zero.
|
# be set to zero.
|
||||||
|
#
|
||||||
# http://www.w3.org/TR/resource-timing/
|
# http://www.w3.org/TR/resource-timing/
|
||||||
|
# http://www.stevesouders.com/blog/2014/08/21/resource-timing-practical-tips/
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
# Header set Timing-Allow-Origin: "*"
|
# Header set Timing-Allow-Origin: "*"
|
||||||
@ -94,10 +94,10 @@ ErrorDocument 404 /404/
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Disable the pattern matching based on filenames.
|
# Disable the pattern matching based on filenames.
|
||||||
|
#
|
||||||
# This setting prevents Apache from returning a 404 error as the result
|
# This setting prevents Apache from returning a 404 error as the result
|
||||||
# of a rewrite when the directory with the same name does not exist.
|
# of a rewrite when the directory with the same name does not exist.
|
||||||
|
#
|
||||||
# https://httpd.apache.org/docs/current/content-negotiation.html#multiviews
|
# https://httpd.apache.org/docs/current/content-negotiation.html#multiviews
|
||||||
|
|
||||||
Options -MultiViews
|
Options -MultiViews
|
||||||
@ -123,17 +123,13 @@ Options -MultiViews
|
|||||||
# http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx
|
# http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx
|
||||||
|
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
|
|
||||||
Header set X-UA-Compatible "IE=edge"
|
Header set X-UA-Compatible "IE=edge"
|
||||||
|
|
||||||
# `mod_headers` cannot match based on the content-type, however,
|
# `mod_headers` cannot match based on the content-type, however,
|
||||||
# the `X-UA-Compatible` response header should be send only for
|
# the `X-UA-Compatible` response header should be send only for
|
||||||
# HTML documents and not for the other resources.
|
# HTML documents and not for the other resources.
|
||||||
|
<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)$">
|
||||||
<FilesMatch "\.(appcache|atom|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|vcf|vtt|webapp|web[mp]|woff2?|xml|xpi)$">
|
|
||||||
Header unset X-UA-Compatible
|
Header unset X-UA-Compatible
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
|
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -141,7 +137,7 @@ Options -MultiViews
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Allow cookies to be set from iframes in Internet Explorer.
|
# Allow cookies to be set from iframes in Internet Explorer.
|
||||||
|
#
|
||||||
# http://msdn.microsoft.com/en-us/library/ms537343.aspx
|
# http://msdn.microsoft.com/en-us/library/ms537343.aspx
|
||||||
# http://www.w3.org/TR/2000/CR-P3P-20001215/
|
# http://www.w3.org/TR/2000/CR-P3P-20001215/
|
||||||
|
|
||||||
@ -159,18 +155,17 @@ Options -MultiViews
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Serve resources with the proper media types (f.k.a. MIME types).
|
# Serve resources with the proper media types (f.k.a. MIME types).
|
||||||
|
#
|
||||||
# https://www.iana.org/assignments/media-types/media-types.xhtml
|
# https://www.iana.org/assignments/media-types/media-types.xhtml
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype
|
||||||
|
|
||||||
<IfModule mod_mime.c>
|
<IfModule mod_mime.c>
|
||||||
|
|
||||||
# Audio
|
|
||||||
AddType audio/mp4 f4a f4b m4a
|
|
||||||
AddType audio/ogg oga ogg opus
|
|
||||||
|
|
||||||
# Data interchange
|
# Data interchange
|
||||||
AddType application/json json map topojson
|
AddType application/json json map topojson
|
||||||
AddType application/ld+json jsonld
|
AddType application/ld+json jsonld
|
||||||
AddType application/vnd.geo+json geojson
|
AddType application/vnd.geo+json geojson
|
||||||
|
AddType application/xml atom rdf rss xml
|
||||||
|
|
||||||
# JavaScript
|
# JavaScript
|
||||||
# Normalize to standard type.
|
# Normalize to standard type.
|
||||||
@ -213,11 +208,17 @@ Options -MultiViews
|
|||||||
AddType application/x-web-app-manifest+json webapp
|
AddType application/x-web-app-manifest+json webapp
|
||||||
AddType text/cache-manifest appcache manifest
|
AddType text/cache-manifest appcache manifest
|
||||||
|
|
||||||
# Video
|
# Media files
|
||||||
|
AddType audio/mp4 f4a f4b m4a
|
||||||
|
AddType audio/ogg oga ogg opus
|
||||||
|
AddType image/bmp bmp
|
||||||
|
AddType image/webp webp
|
||||||
|
AddType image/x-icon cur ico
|
||||||
AddType video/mp4 f4v f4p m4v mp4
|
AddType video/mp4 f4v f4p m4v mp4
|
||||||
AddType video/ogg ogv
|
AddType video/ogg ogv
|
||||||
AddType video/webm webm
|
AddType video/webm webm
|
||||||
AddType video/x-flv flv
|
AddType video/x-flv flv
|
||||||
|
AddType image/svg+xml svg svgz
|
||||||
|
|
||||||
# Web fonts
|
# Web fonts
|
||||||
AddType application/font-woff woff
|
AddType application/font-woff woff
|
||||||
@ -227,26 +228,24 @@ Options -MultiViews
|
|||||||
# Browsers usually ignore the font media types and simply sniff
|
# Browsers usually ignore the font media types and simply sniff
|
||||||
# the bytes to figure out the font type.
|
# the bytes to figure out the font type.
|
||||||
# https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern
|
# https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern
|
||||||
|
#
|
||||||
# Chrome however, shows a warning if any other media types are used
|
# However, Blink and WebKit based browsers will show a warning
|
||||||
# for the following two font types.
|
# in the console if the following font types are served with any
|
||||||
|
# other media types.
|
||||||
|
|
||||||
AddType application/x-font-ttf ttc ttf
|
AddType application/x-font-ttf ttc ttf
|
||||||
AddType font/opentype otf
|
AddType font/opentype otf
|
||||||
|
|
||||||
AddType image/svg+xml svg svgz
|
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
AddType application/octet-stream safariextz
|
AddType application/octet-stream safariextz
|
||||||
|
AddType application/x-bb-appworld bbaw
|
||||||
AddType application/x-chrome-extension crx
|
AddType application/x-chrome-extension crx
|
||||||
AddType application/x-opera-extension oex
|
AddType application/x-opera-extension oex
|
||||||
AddType application/x-xpinstall xpi
|
AddType application/x-xpinstall xpi
|
||||||
AddType application/xml atom rdf rss xml
|
AddType text/vcard vcard vcf
|
||||||
AddType image/webp webp
|
AddType text/vnd.rim.location.xloc xloc
|
||||||
AddType image/x-icon cur ico
|
|
||||||
AddType text/vtt vtt
|
AddType text/vtt vtt
|
||||||
AddType text/x-component htc
|
AddType text/x-component htc
|
||||||
AddType text/x-vcard vcf
|
|
||||||
|
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
@ -254,13 +253,23 @@ Options -MultiViews
|
|||||||
# | Character encodings |
|
# | Character encodings |
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Set `UTF-8` as the character encoding for all resources served with
|
# Serve all resources labeled as `text/html` or `text/plain`
|
||||||
# the media type of `text/html` or `text/plain`.
|
# with the media type `charset` parameter set to `UTF-8`.
|
||||||
|
#
|
||||||
|
# https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset
|
||||||
|
|
||||||
AddDefaultCharset utf-8
|
AddDefaultCharset utf-8
|
||||||
|
|
||||||
# Set `UTF-8` as the character encoding for other certain resources.
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
# Serve the following file types with the media type `charset`
|
||||||
|
# parameter set to `UTF-8`.
|
||||||
|
#
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset
|
||||||
|
|
||||||
<IfModule mod_mime.c>
|
<IfModule mod_mime.c>
|
||||||
AddCharset utf-8 .atom \
|
AddCharset utf-8 .atom \
|
||||||
|
.bbaw \
|
||||||
.css \
|
.css \
|
||||||
.geojson \
|
.geojson \
|
||||||
.js \
|
.js \
|
||||||
@ -271,6 +280,7 @@ AddDefaultCharset utf-8
|
|||||||
.topojson \
|
.topojson \
|
||||||
.vtt \
|
.vtt \
|
||||||
.webapp \
|
.webapp \
|
||||||
|
.xloc \
|
||||||
.xml
|
.xml
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
@ -285,24 +295,29 @@ AddDefaultCharset utf-8
|
|||||||
|
|
||||||
# (1) Turn on the rewrite engine (this is necessary in order for
|
# (1) Turn on the rewrite engine (this is necessary in order for
|
||||||
# the `RewriteRule` directives to work).
|
# the `RewriteRule` directives to work).
|
||||||
|
#
|
||||||
# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine
|
# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine
|
||||||
#
|
#
|
||||||
# (2) Enable the `FollowSymLinks` option if it isn't already.
|
# (2) Enable the `FollowSymLinks` option if it isn't already.
|
||||||
|
#
|
||||||
# https://httpd.apache.org/docs/current/mod/core.html#options
|
# https://httpd.apache.org/docs/current/mod/core.html#options
|
||||||
#
|
#
|
||||||
# (3) If your web host doesn't allow the `FollowSymlinks` option,
|
# (3) If your web host doesn't allow the `FollowSymlinks` option,
|
||||||
# you may need to either comment it out or remove it, and
|
# you need to comment it out or remove it, and then uncomment
|
||||||
# uncomment the `Options +SymLinksIfOwnerMatch` line, but be
|
# the `Options +SymLinksIfOwnerMatch` line (4), but be aware
|
||||||
# aware of the performance impact.
|
# of the performance impact.
|
||||||
|
#
|
||||||
# https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
|
# https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
|
||||||
#
|
#
|
||||||
# (4) Some cloud hosting services will also require that you set
|
# (4) Some cloud hosting services will require you set `RewriteBase`.
|
||||||
# the `RewriteBase`.
|
#
|
||||||
# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site
|
# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
|
||||||
#
|
#
|
||||||
# (5) Depending on how your server is set up, you may also need to
|
# (5) Depending on how your server is set up, you may also need to
|
||||||
# use the `RewriteOptions` directive to enable some options for
|
# use the `RewriteOptions` directive to enable some options for
|
||||||
# the rewrite engine.
|
# the rewrite engine.
|
||||||
|
#
|
||||||
# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions
|
# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions
|
||||||
|
|
||||||
<IfModule mod_rewrite.c>
|
<IfModule mod_rewrite.c>
|
||||||
@ -346,13 +361,13 @@ AddDefaultCharset utf-8
|
|||||||
# This can cause SEO problems (duplicate content), and therefore,
|
# This can cause SEO problems (duplicate content), and therefore,
|
||||||
# you should choose one of the alternatives and redirect the other
|
# you should choose one of the alternatives and redirect the other
|
||||||
# one.
|
# one.
|
||||||
|
#
|
||||||
# By default `Option 1` (no `www.`) is activated.
|
# By default `Option 1` (no `www.`) is activated.
|
||||||
# http://no-www.org/faq.php?q=class_b
|
# http://no-www.org/faq.php?q=class_b
|
||||||
|
#
|
||||||
# If you would prefer to use `Option 2`, just comment out all the
|
# If you would prefer to use `Option 2`, just comment out all the
|
||||||
# lines from `Option 1` and uncomment the ones from `Option 2`.
|
# lines from `Option 1` and uncomment the ones from `Option 2`.
|
||||||
|
#
|
||||||
# (!) NEVER USE BOTH RULES AT THE SAME TIME!
|
# (!) NEVER USE BOTH RULES AT THE SAME TIME!
|
||||||
|
|
||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
@ -369,7 +384,7 @@ AddDefaultCharset utf-8
|
|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
# Option 2: rewrite example.com → www.example.com
|
# Option 2: rewrite example.com → www.example.com
|
||||||
|
#
|
||||||
# Be aware that the following might not be a good idea if you use "real"
|
# Be aware that the following might not be a good idea if you use "real"
|
||||||
# subdomains for certain parts of your website.
|
# subdomains for certain parts of your website.
|
||||||
|
|
||||||
@ -392,47 +407,43 @@ AddDefaultCharset utf-8
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Protect website against clickjacking.
|
# Protect website against clickjacking.
|
||||||
|
#
|
||||||
# The example below sends the `X-Frame-Options` response header with the
|
# The example below sends the `X-Frame-Options` response header with
|
||||||
# value `DENY` informing browsers not to display the web page content in
|
# the value `DENY`, informing browsers not to display the content of
|
||||||
# any frame.
|
# the web page in any frame.
|
||||||
|
#
|
||||||
# This might not be the best setting for everyone. You should read about
|
# This might not be the best setting for everyone. You should read
|
||||||
# the other two possible values for `X-Frame-Options`: `SAMEORIGIN` and
|
# about the other two possible values the `X-Frame-Options` header
|
||||||
# `ALLOW-FROM`.
|
# field can have: `SAMEORIGIN` and `ALLOW-FROM`.
|
||||||
# https://tools.ietf.org/html/rfc7034#section-2.1
|
# https://tools.ietf.org/html/rfc7034#section-2.1.
|
||||||
|
#
|
||||||
# Keep in mind that while you could send the `X-Frame-Options` header
|
# Keep in mind that while you could send the `X-Frame-Options` header
|
||||||
# for all of your site’s pages, this has the potential downside that it
|
# for all of your website’s pages, this has the potential downside that
|
||||||
# forbids even non-malicious framing of your content (e.g.: when users
|
# it forbids even non-malicious framing of your content (e.g.: when
|
||||||
# visit your site using a Google Image Search results page).
|
# users visit your website using a Google Image Search results page).
|
||||||
|
#
|
||||||
# Nonetheless, you should ensure that you send the `X-Frame-Options`
|
# Nonetheless, you should ensure that you send the `X-Frame-Options`
|
||||||
# header for all pages that allow a user to make a state changing
|
# header for all pages that allow a user to make a state changing
|
||||||
# operation (e.g: pages that contain one-click purchase links, checkout
|
# operation (e.g: pages that contain one-click purchase links, checkout
|
||||||
# or bank-transfer confirmation pages, pages that make permanent
|
# or bank-transfer confirmation pages, pages that make permanent
|
||||||
# configuration changes, etc.).
|
# configuration changes, etc.).
|
||||||
|
#
|
||||||
# Sending the `X-Frame-Options` header can also protect your website
|
# Sending the `X-Frame-Options` header can also protect your website
|
||||||
# against more than just clickjacking attacks:
|
# against more than just clickjacking attacks:
|
||||||
# https://cure53.de/xfo-clickjacking.pdf.
|
# https://cure53.de/xfo-clickjacking.pdf.
|
||||||
|
#
|
||||||
# https://tools.ietf.org/html/rfc7034
|
# https://tools.ietf.org/html/rfc7034
|
||||||
# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
|
# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx
|
||||||
# https://www.owasp.org/index.php/Clickjacking
|
# https://www.owasp.org/index.php/Clickjacking
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
|
|
||||||
# Header set X-Frame-Options "DENY"
|
# Header set X-Frame-Options "DENY"
|
||||||
|
|
||||||
# # `mod_headers` cannot match based on the content-type, however,
|
# # `mod_headers` cannot match based on the content-type, however,
|
||||||
# # the `X-Frame-Options` response header should be send only for
|
# # the `X-Frame-Options` response header should be send only for
|
||||||
# # HTML documents and not for the other resources.
|
# # HTML documents and not for the other resources.
|
||||||
|
# <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)$">
|
||||||
# <FilesMatch "\.(appcache|atom|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|vcf|vtt|webapp|web[mp]|woff2?|xml|xpi)$">
|
|
||||||
# Header unset X-Frame-Options
|
# Header unset X-Frame-Options
|
||||||
# </FilesMatch>
|
# </FilesMatch>
|
||||||
|
|
||||||
# </IfModule>
|
# </IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -441,32 +452,28 @@ AddDefaultCharset utf-8
|
|||||||
|
|
||||||
# Mitigate the risk of cross-site scripting and other content-injection
|
# Mitigate the risk of cross-site scripting and other content-injection
|
||||||
# attacks.
|
# attacks.
|
||||||
|
#
|
||||||
# This can be done by setting a `Content Security Policy` which
|
# This can be done by setting a `Content Security Policy` which
|
||||||
# whitelists trusted sources of content for your website.
|
# whitelists trusted sources of content for your website.
|
||||||
|
#
|
||||||
# The example header below allows ONLY scripts that are loaded from the
|
# The example header below allows ONLY scripts that are loaded from the
|
||||||
# current site's origin (no inline scripts, no CDN, etc). This almost
|
# current website's origin (no inline scripts, no CDN, etc). That almost
|
||||||
# certainly won't work as-is for your site!
|
# certainly won't work as-is for your website!
|
||||||
|
#
|
||||||
# For more details on how to craft a reasonable policy for your site,
|
# For more details on how to craft a reasonable policy for your website,
|
||||||
# read: http://www.html5rocks.com/en/tutorials/security/content-security-policy/
|
# read: http://www.html5rocks.com/en/tutorials/security/content-security-policy/
|
||||||
# (or the specification: http://www.w3.org/TR/CSP11/). Also, to make
|
# (or the specification: http://www.w3.org/TR/CSP11/). Also, to make
|
||||||
# things easier, you can use an online CSP header generator such as:
|
# things easier, you can use an online CSP header generator such as:
|
||||||
# http://cspisawesome.com/.
|
# http://cspisawesome.com/.
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
|
|
||||||
# Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
|
# Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
|
||||||
|
|
||||||
# # `mod_headers` cannot match based on the content-type, however,
|
# # `mod_headers` cannot match based on the content-type, however,
|
||||||
# # the `Content-Security-Policy` response header should be send
|
# # the `Content-Security-Policy` response header should be send
|
||||||
# # only for HTML documents and not for the other resources.
|
# # only for HTML documents and not for the other resources.
|
||||||
|
# <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)$">
|
||||||
# <FilesMatch "\.(appcache|atom|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|vcf|vtt|webapp|web[mp]|woff2?|xml|xpi)$">
|
|
||||||
# Header unset Content-Security-Policy
|
# Header unset Content-Security-Policy
|
||||||
# </FilesMatch>
|
# </FilesMatch>
|
||||||
|
|
||||||
# </IfModule>
|
# </IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -474,7 +481,7 @@ AddDefaultCharset utf-8
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Block access to directories without a default document.
|
# Block access to directories without a default document.
|
||||||
|
#
|
||||||
# You should leave the following uncommented, as you shouldn't allow
|
# You should leave the following uncommented, as you shouldn't allow
|
||||||
# anyone to surf through every directory on your server (which may
|
# anyone to surf through every directory on your server (which may
|
||||||
# includes rather private places such as the CMS's directories).
|
# includes rather private places such as the CMS's directories).
|
||||||
@ -487,16 +494,16 @@ AddDefaultCharset utf-8
|
|||||||
|
|
||||||
# Block access to all hidden files and directories with the exception of
|
# Block access to all hidden files and directories with the exception of
|
||||||
# the visible content from within the `/.well-known/` hidden directory.
|
# the visible content from within the `/.well-known/` hidden directory.
|
||||||
|
#
|
||||||
# These types of files usually contain user preferences or the preserved
|
# These types of files usually contain user preferences or the preserved
|
||||||
# state of an utility, and can include rather private places like, for
|
# state of an utility, and can include rather private places like, for
|
||||||
# example, the `.git` or `.svn` directories.
|
# example, the `.git` or `.svn` directories.
|
||||||
|
#
|
||||||
# The `/.well-known/` directory represents the standard (RFC 5785) path
|
# The `/.well-known/` directory represents the standard (RFC 5785) path
|
||||||
# prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`,
|
# prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`,
|
||||||
# `/.well-known/keybase.txt`), and therefore, access to its visible
|
# `/.well-known/keybase.txt`), and therefore, access to its visible
|
||||||
# content should not be blocked.
|
# content should not be blocked.
|
||||||
|
#
|
||||||
# https://www.mnot.net/blog/2010/04/07/well-known
|
# https://www.mnot.net/blog/2010/04/07/well-known
|
||||||
# https://tools.ietf.org/html/rfc5785
|
# https://tools.ietf.org/html/rfc5785
|
||||||
|
|
||||||
@ -511,12 +518,13 @@ AddDefaultCharset utf-8
|
|||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
# Block access to files that can expose sensitive information.
|
# Block access to files that can expose sensitive information.
|
||||||
|
#
|
||||||
# By default, block access to backup and source files that may be
|
# By default, block access to backup and source files that may be
|
||||||
# left by some text editors and can pose a security risk when anyone
|
# left by some text editors and can pose a security risk when anyone
|
||||||
# has access to them.
|
# has access to them.
|
||||||
|
#
|
||||||
# http://feross.org/cmsploit/
|
# http://feross.org/cmsploit/
|
||||||
|
#
|
||||||
# (!) Update the `<FilesMatch>` regular expression from below to
|
# (!) Update the `<FilesMatch>` regular expression from below to
|
||||||
# include any files that might end up on your production server and
|
# include any files that might end up on your production server and
|
||||||
# can expose sensitive information about your website. These files may
|
# can expose sensitive information about your website. These files may
|
||||||
@ -544,38 +552,41 @@ AddDefaultCharset utf-8
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Force client-side SSL redirection.
|
# Force client-side SSL redirection.
|
||||||
|
#
|
||||||
# If a user types `example.com` in their browser, even if the server
|
# If a user types `example.com` in their browser, even if the server
|
||||||
# redirects them to the secure version of the site. That still leaves
|
# redirects them to the secure version of the website, that still leaves
|
||||||
# a window of opportunity (the initial HTTP connection) for an attacker
|
# a window of opportunity (the initial HTTP connection) for an attacker
|
||||||
# to downgrade or redirect the request.
|
# to downgrade or redirect the request.
|
||||||
|
#
|
||||||
# The following header ensures that browser will ONLY connect to your
|
# The following header ensures that browser will ONLY connect to your
|
||||||
# server via HTTPS, regardless of what the users type in the address
|
# server via HTTPS, regardless of what the users type in the browser's
|
||||||
# bar.
|
# address bar.
|
||||||
|
#
|
||||||
# (!) Remove the `includeSubDomains` optional directive if the site's
|
# (!) Remove the `includeSubDomains` optional directive if the website's
|
||||||
# subdomains are not using HTTPS.
|
# subdomains are not using HTTPS.
|
||||||
|
#
|
||||||
# https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1
|
|
||||||
# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/
|
# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/
|
||||||
|
# https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1
|
||||||
# http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx
|
# http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
# Header set Strict-Transport-Security "max-age=16070400; includeSubDomains"
|
# Header set Strict-Transport-Security "max-age=16070400; includeSubDomains"
|
||||||
# </IfModule>
|
# </IfModule>
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
Header set Strict-Transport-Security "max-age=16070400"
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# | Reducing MIME type security risks |
|
# | Reducing MIME type security risks |
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Prevent some browsers from MIME-sniffing the response.
|
# Prevent some browsers from MIME-sniffing the response.
|
||||||
|
#
|
||||||
# This reduces exposure to drive-by download attacks and cross-origin
|
# This reduces exposure to drive-by download attacks and cross-origin
|
||||||
# data leaks, and should be left uncommented, especially if the web
|
# data leaks, and should be left uncommented, especially if the server
|
||||||
# server is serving user-uploaded content or content that could
|
# is serving user-uploaded content or content that could potentially be
|
||||||
# potentially be treated as executable by the browser.
|
# treated as executable by the browser.
|
||||||
|
#
|
||||||
# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa
|
# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa
|
||||||
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
|
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
|
||||||
# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx
|
# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx
|
||||||
@ -589,8 +600,8 @@ AddDefaultCharset utf-8
|
|||||||
# | Reflected Cross-Site Scripting (XSS) attacks |
|
# | Reflected Cross-Site Scripting (XSS) attacks |
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# (1) Try to re-enable the cross-site ccripting (XSS) filter built
|
# (1) Try to re-enable the cross-site scripting (XSS) filter built
|
||||||
# into the most web browsers.
|
# into most web browsers.
|
||||||
#
|
#
|
||||||
# The filter is usually enabled by default, but in some cases it
|
# The filter is usually enabled by default, but in some cases it
|
||||||
# may be disabled by the user. However, in Internet Explorer for
|
# may be disabled by the user. However, in Internet Explorer for
|
||||||
@ -608,44 +619,41 @@ AddDefaultCharset utf-8
|
|||||||
#
|
#
|
||||||
# Unfortunately, in some browsers (e.g.: Internet Explorer),
|
# Unfortunately, in some browsers (e.g.: Internet Explorer),
|
||||||
# this default behavior may allow the XSS filter to be exploited,
|
# this default behavior may allow the XSS filter to be exploited,
|
||||||
# thereby, it's better to tell browsers to prevent the rendering
|
# thereby, it's better to inform browsers to prevent the rendering
|
||||||
# of the page altogether, instead of attempting to modify it.
|
# of the page altogether, instead of attempting to modify it.
|
||||||
#
|
#
|
||||||
# http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities
|
# http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities
|
||||||
#
|
#
|
||||||
# (!) Do not rely on the XSS filter to prevent XSS attacks! Ensure that
|
# (!) Do not rely on the XSS filter to prevent XSS attacks! Ensure that
|
||||||
# you are taking all possible measures to prevent XSS attacks, the
|
# you are taking all possible measures to prevent XSS attacks, the
|
||||||
# most obvious being: validating and sanitizing your site's inputs.
|
# most obvious being: validating and sanitizing your website's inputs.
|
||||||
#
|
#
|
||||||
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx
|
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx
|
||||||
# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx
|
# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx
|
||||||
# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
|
# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
|
|
||||||
# # (1) (2)
|
# # (1) (2)
|
||||||
# Header set X-XSS-Protection "1; mode=block"
|
# Header set X-XSS-Protection "1; mode=block"
|
||||||
|
|
||||||
# # `mod_headers` cannot match based on the content-type, however,
|
# # `mod_headers` cannot match based on the content-type, however,
|
||||||
# # the `X-XSS-Protection` response header should be send only for
|
# # the `X-XSS-Protection` response header should be send only for
|
||||||
# # HTML documents and not for the other resources.
|
# # HTML documents and not for the other resources.
|
||||||
|
# <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)$">
|
||||||
# <FilesMatch "\.(appcache|atom|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|vcf|vtt|webapp|web[mp]|woff2?|xml|xpi)$">
|
|
||||||
# Header unset X-XSS-Protection
|
# Header unset X-XSS-Protection
|
||||||
# </FilesMatch>
|
# </FilesMatch>
|
||||||
|
|
||||||
# </IfModule>
|
# </IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# | Server software information |
|
# | Server software information |
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Avoid displaying the exact Apache version number, the description
|
# Prevent Apache from sending in the `Server` response header its
|
||||||
# of the generic OS-type and the information about Apache's compiled-in
|
# exact version number, the description of the generic OS-type or
|
||||||
# modules.
|
# information about its compiled-in modules.
|
||||||
|
#
|
||||||
# (!) The `ServerTokens` directive will only work in the main server
|
# (!) The `ServerTokens` directive will only work in the main server
|
||||||
# configuration file, so don't try to enable it in the `.htaccess` file!
|
# configuration file, so don't try to enable it in the `.htaccess` file!
|
||||||
|
#
|
||||||
# https://httpd.apache.org/docs/current/mod/core.html#servertokens
|
# https://httpd.apache.org/docs/current/mod/core.html#servertokens
|
||||||
|
|
||||||
# ServerTokens Prod
|
# ServerTokens Prod
|
||||||
@ -661,7 +669,7 @@ AddDefaultCharset utf-8
|
|||||||
|
|
||||||
<IfModule mod_deflate.c>
|
<IfModule mod_deflate.c>
|
||||||
|
|
||||||
# Force compression for mangled headers.
|
# Force compression for mangled `Accept-Encoding` request headers
|
||||||
# https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
|
# https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
|
||||||
|
|
||||||
<IfModule mod_setenvif.c>
|
<IfModule mod_setenvif.c>
|
||||||
@ -673,29 +681,14 @@ AddDefaultCharset utf-8
|
|||||||
|
|
||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
# Map certain file types to the specified encoding type in order
|
|
||||||
# to make Apache serve them with the appropriate `Content-Encoding`
|
|
||||||
# response header (this will NOT make Apache compress them!).
|
|
||||||
|
|
||||||
# If the following file types wouldn't be served without the
|
|
||||||
# appropriate `Content-Enable` response header, client applications
|
|
||||||
# (e.g.: browsers) wouldn't know that they first need to uncompress
|
|
||||||
# the response, and thus, wouldn't be able to understand the content.
|
|
||||||
|
|
||||||
# https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding
|
|
||||||
|
|
||||||
<IfModule mod_mime.c>
|
|
||||||
AddEncoding gzip svgz
|
|
||||||
</IfModule>
|
|
||||||
|
|
||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
# Compress all output labeled with one of the following media types.
|
# Compress all output labeled with one of the following media types.
|
||||||
|
#
|
||||||
# (!) For Apache versions below 2.3.7 you don't need to enable
|
# (!) For Apache versions below version 2.3.7 you don't need to
|
||||||
# `mod_filter` and can remove the `<IfModule mod_filter.c>` and
|
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
|
||||||
# `</IfModule>` lines as `AddOutputFilterByType` is still in
|
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
|
||||||
# the core directives.
|
# the core directives.
|
||||||
|
#
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
|
||||||
|
|
||||||
<IfModule mod_filter.c>
|
<IfModule mod_filter.c>
|
||||||
AddOutputFilterByType DEFLATE "application/atom+xml" \
|
AddOutputFilterByType DEFLATE "application/atom+xml" \
|
||||||
@ -709,10 +702,12 @@ AddDefaultCharset utf-8
|
|||||||
"application/vnd.geo+json" \
|
"application/vnd.geo+json" \
|
||||||
"application/vnd.ms-fontobject" \
|
"application/vnd.ms-fontobject" \
|
||||||
"application/x-font-ttf" \
|
"application/x-font-ttf" \
|
||||||
|
"application/x-javascript" \
|
||||||
"application/x-web-app-manifest+json" \
|
"application/x-web-app-manifest+json" \
|
||||||
"application/xhtml+xml" \
|
"application/xhtml+xml" \
|
||||||
"application/xml" \
|
"application/xml" \
|
||||||
"font/opentype" \
|
"font/opentype" \
|
||||||
|
"image/bmp" \
|
||||||
"image/svg+xml" \
|
"image/svg+xml" \
|
||||||
"image/x-icon" \
|
"image/x-icon" \
|
||||||
"text/cache-manifest" \
|
"text/cache-manifest" \
|
||||||
@ -720,19 +715,51 @@ AddDefaultCharset utf-8
|
|||||||
"text/html" \
|
"text/html" \
|
||||||
"text/javascript" \
|
"text/javascript" \
|
||||||
"text/plain" \
|
"text/plain" \
|
||||||
|
"text/vcard" \
|
||||||
|
"text/vnd.rim.location.xloc" \
|
||||||
"text/vtt" \
|
"text/vtt" \
|
||||||
"text/x-component" \
|
"text/x-component" \
|
||||||
"text/xml"
|
"text/xml"
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
# Map the following filename extensions to the specified
|
||||||
|
# encoding type in order to make Apache serve the file types
|
||||||
|
# with the appropriate `Content-Encoding` response header
|
||||||
|
# (do note that this will NOT make Apache compress them!).
|
||||||
|
#
|
||||||
|
# If these files types would be served without an appropriate
|
||||||
|
# `Content-Enable` response header, client applications (e.g.:
|
||||||
|
# browsers) wouldn't know that they first need to uncompress
|
||||||
|
# the response, and thus, wouldn't be able to understand the
|
||||||
|
# content.
|
||||||
|
#
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding
|
||||||
|
|
||||||
|
<IfModule mod_mime.c>
|
||||||
|
AddEncoding gzip svgz
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# | Content transformation |
|
# | Content transformation |
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Prevent mobile network providers from modifying the website's content.
|
# Prevent intermediate caches or proxies (e.g.: such as the ones
|
||||||
|
# used by mobile network providers) from modifying the website's
|
||||||
|
# content.
|
||||||
|
#
|
||||||
# https://tools.ietf.org/html/rfc2616#section-14.9.5
|
# https://tools.ietf.org/html/rfc2616#section-14.9.5
|
||||||
|
#
|
||||||
|
# (!) If you are using `mod_pagespeed`, please note that setting
|
||||||
|
# the `Cache-Control: no-transform` response header will prevent
|
||||||
|
# `PageSpeed` from rewriting `HTML` files, and, if the
|
||||||
|
# `ModPagespeedDisableRewriteOnNoTransform` directive isn't set
|
||||||
|
# to `off`, also from rewriting other resources.
|
||||||
|
#
|
||||||
|
# https://developers.google.com/speed/pagespeed/module/configuration#notransform
|
||||||
|
|
||||||
# <IfModule mod_headers.c>
|
# <IfModule mod_headers.c>
|
||||||
# Header merge Cache-Control "no-transform"
|
# Header merge Cache-Control "no-transform"
|
||||||
@ -743,7 +770,9 @@ AddDefaultCharset utf-8
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Remove `ETags` as resources are sent with far-future expires headers.
|
# Remove `ETags` as resources are sent with far-future expires headers.
|
||||||
|
#
|
||||||
# https://developer.yahoo.com/performance/rules.html#etags
|
# https://developer.yahoo.com/performance/rules.html#etags
|
||||||
|
# https://tools.ietf.org/html/rfc7232#section-2.3
|
||||||
|
|
||||||
# `FileETag None` doesn't work in all cases.
|
# `FileETag None` doesn't work in all cases.
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
@ -757,10 +786,12 @@ FileETag None
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
# Serve resources with far-future expires headers.
|
# Serve resources with far-future expires headers.
|
||||||
|
#
|
||||||
# (!) If you don't control versioning with filename-based cache busting,
|
# (!) If you don't control versioning with filename-based
|
||||||
# you should consider lowering the cache times (e.g.: to something like
|
# cache busting, you should consider lowering the cache times
|
||||||
# one week).
|
# to something like one week.
|
||||||
|
#
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_expires.html
|
||||||
|
|
||||||
<IfModule mod_expires.c>
|
<IfModule mod_expires.c>
|
||||||
|
|
||||||
@ -771,6 +802,10 @@ FileETag None
|
|||||||
ExpiresByType text/css "access plus 1 year"
|
ExpiresByType text/css "access plus 1 year"
|
||||||
|
|
||||||
# Data interchange
|
# Data interchange
|
||||||
|
ExpiresByType application/atom+xml "access plus 1 hour"
|
||||||
|
ExpiresByType application/rdf+xml "access plus 1 hour"
|
||||||
|
ExpiresByType application/rss+xml "access plus 1 hour"
|
||||||
|
|
||||||
ExpiresByType application/json "access plus 0 seconds"
|
ExpiresByType application/json "access plus 0 seconds"
|
||||||
ExpiresByType application/ld+json "access plus 0 seconds"
|
ExpiresByType application/ld+json "access plus 0 seconds"
|
||||||
ExpiresByType application/schema+json "access plus 0 seconds"
|
ExpiresByType application/schema+json "access plus 0 seconds"
|
||||||
@ -781,23 +816,23 @@ FileETag None
|
|||||||
# Favicon (cannot be renamed!) and cursor images
|
# Favicon (cannot be renamed!) and cursor images
|
||||||
ExpiresByType image/x-icon "access plus 1 week"
|
ExpiresByType image/x-icon "access plus 1 week"
|
||||||
|
|
||||||
# HTML components (HTCs)
|
|
||||||
ExpiresByType text/x-component "access plus 1 month"
|
|
||||||
|
|
||||||
# HTML
|
# HTML
|
||||||
ExpiresByType text/html "access plus 0 seconds"
|
ExpiresByType text/html "access plus 0 seconds"
|
||||||
|
|
||||||
# JavaScript
|
# JavaScript
|
||||||
ExpiresByType application/javascript "access plus 1 year"
|
ExpiresByType application/javascript "access plus 1 year"
|
||||||
|
ExpiresByType application/x-javascript "access plus 1 year"
|
||||||
ExpiresByType text/javascript "access plus 1 year"
|
ExpiresByType text/javascript "access plus 1 year"
|
||||||
|
|
||||||
# Manifest files
|
# Manifest files
|
||||||
ExpiresByType application/manifest+json "access plus 1 year"
|
ExpiresByType application/manifest+json "access plus 1 year"
|
||||||
|
|
||||||
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
||||||
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
||||||
|
|
||||||
# Media files
|
# Media files
|
||||||
ExpiresByType audio/ogg "access plus 1 month"
|
ExpiresByType audio/ogg "access plus 1 month"
|
||||||
|
ExpiresByType image/bmp "access plus 1 month"
|
||||||
ExpiresByType image/gif "access plus 1 month"
|
ExpiresByType image/gif "access plus 1 month"
|
||||||
ExpiresByType image/jpeg "access plus 1 month"
|
ExpiresByType image/jpeg "access plus 1 month"
|
||||||
ExpiresByType image/png "access plus 1 month"
|
ExpiresByType image/png "access plus 1 month"
|
||||||
@ -805,11 +840,6 @@ FileETag None
|
|||||||
ExpiresByType video/ogg "access plus 1 month"
|
ExpiresByType video/ogg "access plus 1 month"
|
||||||
ExpiresByType video/webm "access plus 1 month"
|
ExpiresByType video/webm "access plus 1 month"
|
||||||
|
|
||||||
# Web feeds
|
|
||||||
ExpiresByType application/atom+xml "access plus 1 hour"
|
|
||||||
ExpiresByType application/rdf+xml "access plus 1 hour"
|
|
||||||
ExpiresByType application/rss+xml "access plus 1 hour"
|
|
||||||
|
|
||||||
# Web fonts
|
# Web fonts
|
||||||
ExpiresByType application/font-woff "access plus 1 month"
|
ExpiresByType application/font-woff "access plus 1 month"
|
||||||
ExpiresByType application/font-woff2 "access plus 1 month"
|
ExpiresByType application/font-woff2 "access plus 1 month"
|
||||||
@ -838,20 +868,18 @@ FileETag None
|
|||||||
# specified files.
|
# specified files.
|
||||||
|
|
||||||
# <IfModule mod_include.c>
|
# <IfModule mod_include.c>
|
||||||
|
|
||||||
# <FilesMatch "\.combined\.js$">
|
# <FilesMatch "\.combined\.js$">
|
||||||
# Options +Includes
|
# Options +Includes
|
||||||
# AddOutputFilterByType INCLUDES application/javascript \
|
# AddOutputFilterByType INCLUDES application/javascript \
|
||||||
|
# application/x-javascript \
|
||||||
# text/javascript
|
# text/javascript
|
||||||
# SetOutputFilter INCLUDES
|
# SetOutputFilter INCLUDES
|
||||||
# </FilesMatch>
|
# </FilesMatch>
|
||||||
|
|
||||||
# <FilesMatch "\.combined\.css$">
|
# <FilesMatch "\.combined\.css$">
|
||||||
# Options +Includes
|
# Options +Includes
|
||||||
# AddOutputFilterByType INCLUDES text/css
|
# AddOutputFilterByType INCLUDES text/css
|
||||||
# SetOutputFilter INCLUDES
|
# SetOutputFilter INCLUDES
|
||||||
# </FilesMatch>
|
# </FilesMatch>
|
||||||
|
|
||||||
# </IfModule>
|
# </IfModule>
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -861,15 +889,15 @@ FileETag None
|
|||||||
# If you're not using a build process to manage your filename version
|
# If you're not using a build process to manage your filename version
|
||||||
# revving, you might want to consider enabling the following directives
|
# revving, you might want to consider enabling the following directives
|
||||||
# to route all requests such as `/style.12345.css` to `/style.css`.
|
# to route all requests such as `/style.12345.css` to `/style.css`.
|
||||||
|
#
|
||||||
# To understand why this is important and even a better idea than using
|
# To understand why this is important and even a better solution than
|
||||||
# something like `*.css?v231`, please see:
|
# using something like `*.css?v231`, please see:
|
||||||
# http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
|
# http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
|
||||||
|
|
||||||
# <IfModule mod_rewrite.c>
|
# <IfModule mod_rewrite.c>
|
||||||
# RewriteEngine On
|
# RewriteEngine On
|
||||||
# RewriteCond %{REQUEST_FILENAME} !-f
|
# RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
# RewriteRule ^(.+)\.(\d+)\.(css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L]
|
# RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L]
|
||||||
# </IfModule>
|
# </IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user