Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##
- # This file is part of Contao.
- #
- # (c) Leo Feyer
- #
- # @license LGPL-3.0-or-later
- ##
- ##
- # Prevent access to the Contao template files
- ##
- <FilesMatch "\.(tpl|html5|xhtml)$">
- <IfModule !mod_authz_core.c>
- Order deny,allow
- Deny from all
- </IfModule>
- <IfModule mod_authz_core.c>
- Require all denied
- </IfModule>
- </FilesMatch>
- ##
- # Allow access from all domains for webfonts
- # @see https://github.com/h5bp/html5-boilerplate
- ##
- <IfModule mod_headers.c>
- <FilesMatch "\.(ttf|ttc|otf|eot|woff2?|font\.css)$">
- Header set Access-Control-Allow-Origin "*"
- </FilesMatch>
- </IfModule>
- ##
- # Disable ETags
- # @see http://developer.yahoo.com/performance/rules.html#etags
- ##
- FileETag None
- <IfModule mod_headers.c>
- Header unset ETag
- </IfModule>
- ##
- # Set the proper MIME types
- # @see https://github.com/h5bp/html5-boilerplate
- ##
- <IfModule mod_mime.c>
- AddType application/javascript js jsonp
- AddType application/json json
- AddType audio/ogg oga ogg
- AddType audio/mp4 m4a f4a f4b
- AddType video/ogg ogv
- AddType video/mp4 mp4 m4v f4v f4p
- AddType video/webm webm
- AddType video/x-flv flv
- AddType image/svg+xml svg svgz
- AddEncoding gzip svgz
- AddType application/vnd.ms-fontobject eot
- AddType application/x-font-ttf ttf ttc
- AddType font/opentype otf
- AddType application/x-font-woff woff woff2
- AddType image/x-icon ico
- AddType image/webp webp
- AddType text/cache-manifest appcache manifest
- AddType text/x-component htc
- AddType application/xml rss atom xml rdf
- AddType application/x-web-app-manifest+json webapp
- AddType text/x-vcard vcf
- AddType application/x-shockwave-flash swf
- </IfModule>
- ##
- # Gzip compression
- # @see https://github.com/h5bp/html5-boilerplate
- ##
- <IfModule mod_deflate.c>
- <IfModule mod_filter.c>
- AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
- AddOutputFilterByType DEFLATE application/javascript
- AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
- AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
- AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
- </IfModule>
- </IfModule>
- ##
- # Expires headers (for better cache control)
- # @see https://github.com/h5bp/html5-boilerplate
- ##
- <IfModule mod_expires.c>
- ExpiresActive on
- ##
- # Productional website
- ##
- ExpiresByType text/cache-manifest "access plus 0 seconds"
- ExpiresByType text/html "access plus 0 seconds"
- ExpiresByType text/xml "access plus 0 seconds"
- ExpiresByType application/xml "access plus 0 seconds"
- ExpiresByType application/json "access plus 0 seconds"
- ExpiresByType application/rss+xml "access plus 1 hour"
- ExpiresByType application/atom+xml "access plus 1 hour"
- ExpiresByType image/gif "access plus 1 month"
- ExpiresByType image/png "access plus 1 month"
- ExpiresByType image/jpeg "access plus 1 month"
- ExpiresByType image/x-icon "access plus 1 month"
- ExpiresByType video/ogg "access plus 1 month"
- ExpiresByType audio/ogg "access plus 1 month"
- ExpiresByType video/mp4 "access plus 1 month"
- ExpiresByType video/webm "access plus 1 month"
- ExpiresByType text/x-component "access plus 1 month"
- ExpiresByType application/x-font-ttf "access plus 1 month"
- ExpiresByType font/opentype "access plus 1 month"
- ExpiresByType application/x-font-woff "access plus 1 month"
- ExpiresByType image/svg+xml "access plus 1 month"
- ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
- ExpiresByType text/css "access plus 1 year"
- ExpiresByType application/javascript "access plus 1 year"
- ##
- # Disable caching during development
- # @see https://github.com/contao/core/issues/4364
- ##
- #ExpiresByType text/cache-manifest "access"
- #ExpiresByType text/html "access"
- #ExpiresByType text/xml "access"
- #ExpiresByType application/xml "access"
- #ExpiresByType application/json "access"
- #ExpiresByType application/rss+xml "access"
- #ExpiresByType application/atom+xml "access"
- #ExpiresByType image/gif "access"
- #ExpiresByType image/png "access"
- #ExpiresByType image/jpeg "access"
- #ExpiresByType image/x-icon "access"
- #ExpiresByType video/ogg "access"
- #ExpiresByType audio/ogg "access"
- #ExpiresByType video/mp4 "access"
- #ExpiresByType video/webm "access"
- #ExpiresByType text/x-component "access"
- #ExpiresByType application/x-font-ttf "access"
- #ExpiresByType font/opentype "access"
- #ExpiresByType application/x-font-woff "access"
- #ExpiresByType image/svg+xml "access"
- #ExpiresByType application/vnd.ms-fontobject "access"
- #ExpiresByType text/css "access"
- #ExpiresByType application/javascript "access"
- </IfModule>
- ##
- # Header adjustments
- ##
- <IfModule mod_headers.c>
- ##
- # Disable caching during development
- # @see https://github.com/contao/core/issues/4364
- ##
- #Header unset Cache-Control
- #Header append Cache-Control must-revalidate
- ##
- # Do not cache the cron.txt file
- # @see https://github.com/contao/core/issues/5105
- ##
- <FilesMatch "cron\.txt$">
- Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform"
- </FilesMatch>
- ##
- # Add a Vary Accept-Encoding header for the compressed resources. If you
- # modify the file types above, make sure to change them here accordingly.
- # @see http://developer.yahoo.com/performance/rules.html#gzip
- #
- # Note: If you are using a case-sensitive file system like HFS+ or ext4, you
- # have to change the <FilesMatch> directive as follows:
- #
- # <FilesMatch "\.(?i:js|css|xml|gz|svgz)$">
- #
- # For more information see: https://github.com/contao/core/issues/4364
- ##
- <FilesMatch "\.(js|css|xml|gz|svgz)$">
- Header append Vary Accept-Encoding
- </FilesMatch>
- ##
- # Do not cache source map files
- # @see https://github.com/contao/core/issues/8532
- ##
- <FilesMatch "\.map$">
- Header set Expires "0"
- Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform"
- </FilesMatch>
- </IfModule>
- ##
- # Disable MultiViews if you are having issues with requests returning the wrong
- # page. Requires AllowOverride Options=All,MultiViews to be set here.
- # @see https://github.com/contao/core/issues/3521
- ##
- #Options -MultiViews
- ##
- # URL rewriting
- ##
- <IfModule mod_rewrite.c>
- RewriteEngine On
- ##
- # Change the RewriteBase if your Contao installation is in a subdirectoy and
- # the rewrite rules are not working properly. Usage examples:
- #
- # RewriteBase /contao-3.0.0
- # RewriteBase /path/to/contao
- #
- # Depending on your server, you might have to remove the line entirely.
- ##
- RewriteBase /
- ##
- # Uncomment the following lines to add "www." to the domain:
- #
- # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
- # RewriteRule (.*) http://www.example.com/$1 [R=301,L]
- #
- # Uncomment the following lines to remove "www." from the domain:
- #
- # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
- # RewriteRule (.*) http://example.com/$1 [R=301,L]
- #
- # Make sure to replace "example.com" with your domain name.
- ##
- ##
- # If you cannot use mod_deflate, uncomment the following lines to load a
- # compressed .gz version of the aggregated Contao JavaScript and CSS files.
- ##
- #AddEncoding gzip .gz
- #<FilesMatch "\.js\.gz$">
- # AddType "application/javascript" .gz
- #</FilesMatch>
- #<FilesMatch "\.css\.gz$">
- # AddType "text/css" .gz
- #</FilesMatch>
- #RewriteCond %{HTTP:Accept-encoding} gzip
- #RewriteCond %{REQUEST_FILENAME} \.(js|css)$
- #RewriteCond %{REQUEST_FILENAME}.gz -f
- #RewriteRule ^(.*)$ $1.gz [QSA,L]
- ##
- # By default, Contao adds ".html" to the generated URLs to simulate static
- # HTML documents. If you change the URL suffix in the back end settings, make
- # sure to change it here accordingly!
- #
- # RewriteRule .*\.html$ index.php [L] # URL suffix .html
- # RewriteRule .*\.txt$ index.php [L] # URL suffix .txt
- # RewriteRule .*\.json$ index.php [L] # URL suffix .json
- #
- # If you do not want to use an URL suffix at all, you have to add a third
- # line to prevent URLs that point to folders from being rewritten (see #4031).
- #
- # RewriteCond %{REQUEST_FILENAME} !-d
- # RewriteRule .* index.php [L]
- #
- # If you are using mod_cache, it is recommended to use the RewriteRule below,
- # which adds the query string to the internal URL:
- #
- # RewriteRule (.*\.html)$ index.php/$1 [L]
- #
- # Note that not all environments support mod_rewrite and mod_cache.
- ##
- RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|map|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|zip|gz)$
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule .* index.php [L]
- ##
- # The following rules are required if you want to pass the language as first
- # URL parameter (added in Contao 2.11). The first rule rewrites the empty URL
- # to the front end controller, the second one adds a missing trailing slash.
- ##
- RewriteRule ^[a-z]{2}(\-[A-Z]{2})?/$ index.php [L]
- RewriteRule ^([a-z]{2}(\-[A-Z]{2})?)$ $1/ [R=301,L]
- </IfModule>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement