Created
January 22, 2019 09:29
-
-
Save Chrissi2812/00982f33bbceb320d788983c1fd35d2c to your computer and use it in GitHub Desktop.
Sperrseite
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## | |
# @package Joomla | |
# @copyright Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. | |
# @license GNU General Public License version 2 or later; see LICENSE.txt | |
## | |
## | |
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE! | |
# | |
# The line 'Options +FollowSymLinks' may cause problems with some server configurations. | |
# It is required for the use of mod_rewrite, but it may have already been set by your | |
# server administrator in a way that disallows changing it in this .htaccess file. | |
# If using it causes your site to produce an error, comment it out (add # to the | |
# beginning of the line), reload your site in your browser and test your sef urls. If | |
# they work, then it has been set by your server administrator and you do not need to | |
# set it here. | |
## | |
## No directory listings | |
<IfModule autoindex> | |
IndexIgnore * | |
</IfModule> | |
## Can be commented out if causes errors, see notes above. | |
Options +FollowSymlinks | |
Options -Indexes | |
## Mod_rewrite in use. | |
RewriteEngine On | |
<IfModule mod_mime.c> | |
# Data interchange | |
AddType application/atom+xml atom | |
AddType application/json json map topojson | |
AddType application/ld+json jsonld | |
AddType application/rss+xml rss | |
AddType application/vnd.geo+json geojson | |
AddType application/xml rdf xml | |
# JavaScript | |
# Normalize to standard type. | |
# https://tools.ietf.org/html/rfc4329#section-7.2 | |
AddType application/javascript js | |
# Manifest files | |
# If you are providing a web application manifest file (see | |
# the specification: https://w3c.github.io/manifest/), it is | |
# recommended that you serve it with the `application/manifest+json` | |
# media type. | |
# | |
# Because the web application manifest file doesn't have its | |
# own unique file extension, you can set its media type either | |
# by matching: | |
# | |
# 1) the exact location of the file (this can be done using a | |
# directive such as `<Location>`, but it will NOT work in | |
# the `.htaccess` file, so you will have to do it in the main | |
# server configuration file or inside of a `<VirtualHost>` | |
# container) | |
# | |
# e.g.: | |
# | |
# <Location "/.well-known/manifest.json"> | |
# AddType application/manifest+json json | |
# </Location> | |
# | |
# 2) the filename (this can be problematic as you will need to | |
# ensure that you don't have any other file with the same name | |
# as the one you gave to your web application manifest file) | |
# | |
# e.g.: | |
# | |
# <Files "manifest.json"> | |
# AddType application/manifest+json json | |
# </Files> | |
AddType application/x-web-app-manifest+json webapp | |
AddType text/cache-manifest appcache | |
# Media files | |
AddType audio/mp4 f4a f4b m4a | |
AddType audio/ogg oga ogg opus | |
AddType image/bmp bmp | |
AddType image/svg+xml svg svgz | |
AddType image/webp webp | |
AddType video/mp4 f4v f4p m4v mp4 | |
AddType video/ogg ogv | |
AddType video/webm webm | |
AddType video/x-flv flv | |
# Serving `.ico` image files with a different media type | |
# prevents Internet Explorer from displaying then as images: | |
# https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee | |
AddType image/x-icon cur ico | |
# Web fonts | |
AddType application/font-woff woff | |
AddType application/font-woff2 woff2 | |
AddType application/vnd.ms-fontobject eot | |
# Browsers usually ignore the font media types and simply sniff | |
# the bytes to figure out the font type. | |
# https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern | |
# | |
# However, Blink and WebKit based browsers will show a warning | |
# in the console if the following font types are served with any | |
# other media types. | |
AddType application/x-font-ttf ttc ttf | |
AddType font/opentype otf | |
# Other | |
AddType application/octet-stream safariextz | |
AddType application/x-bb-appworld bbaw | |
AddType application/x-chrome-extension crx | |
AddType application/x-opera-extension oex | |
AddType application/x-xpinstall xpi | |
AddType text/vcard vcard vcf | |
AddType text/vnd.rim.location.xloc xloc | |
AddType text/vtt vtt | |
AddType text/x-component htc | |
AddType application/pdf pdf | |
<Files "sw.php"> | |
AddType application/javascript php | |
</Files> | |
</IfModule> | |
<IfModule mod_headers.c> | |
Header set X-Content-Type-Options "nosniff" | |
Header unset ETag | |
</IfModule> | |
FileETag None | |
<ifModule mod_expires.c> | |
ExpiresActive On | |
ExpiresDefault "access plus 1 month" | |
# CSS | |
ExpiresByType text/css "access plus 1 year" | |
# 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/ld+json "access plus 0 seconds" | |
ExpiresByType application/schema+json "access plus 0 seconds" | |
ExpiresByType application/vnd.geo+json "access plus 0 seconds" | |
ExpiresByType application/xml "access plus 0 seconds" | |
ExpiresByType text/xml "access plus 0 seconds" | |
# Favicon (cannot be renamed!) and cursor images | |
ExpiresByType image/vnd.microsoft.icon "access plus 1 week" | |
ExpiresByType image/x-icon "access plus 1 week" | |
# HTML | |
ExpiresByType text/html "access plus 1 hour" | |
# JavaScript | |
ExpiresByType application/javascript "access plus 1 year" | |
ExpiresByType application/x-javascript "access plus 1 year" | |
ExpiresByType text/javascript "access plus 1 year" | |
# Manifest files | |
ExpiresByType application/manifest+json "access plus 1 year" | |
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" | |
ExpiresByType text/cache-manifest "access plus 0 seconds" | |
# Media files | |
ExpiresByType audio/ogg "access plus 1 month" | |
ExpiresByType image/bmp "access plus 1 month" | |
ExpiresByType image/gif "access plus 1 month" | |
ExpiresByType image/jpeg "access plus 1 month" | |
ExpiresByType image/png "access plus 1 month" | |
ExpiresByType image/svg+xml "access plus 1 month" | |
ExpiresByType image/webp "access plus 1 month" | |
ExpiresByType video/mp4 "access plus 1 month" | |
ExpiresByType video/ogg "access plus 1 month" | |
ExpiresByType video/webm "access plus 1 month" | |
# Web fonts | |
# Embedded OpenType (EOT) | |
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" | |
ExpiresByType font/eot "access plus 1 month" | |
# OpenType | |
ExpiresByType font/opentype "access plus 1 month" | |
# TrueType | |
ExpiresByType application/x-font-ttf "access plus 1 month" | |
ExpiresByType application/pdf "access plus 1 year" | |
# Web Open Font Format (WOFF) 1.0 | |
ExpiresByType application/font-woff "access plus 1 month" | |
ExpiresByType application/x-font-woff "access plus 1 month" | |
ExpiresByType font/woff "access plus 1 month" | |
# Web Open Font Format (WOFF) 2.0 | |
ExpiresByType application/font-woff2 "access plus 1 month" | |
# Other | |
ExpiresByType text/x-cross-domain-policy "access plus 1 week" | |
</ifModule> | |
<IfModule mod_deflate.c> | |
AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/json text/javascript text/css text/html text/xml image/svg+xml text/plain image/x-icon application/xml font/ttf font/otf font/opentype | |
Header append Vary Accept-Encoding | |
</ifModule> | |
# Rules to correctly serve gzip compressed CSS and JS files. | |
# Requires both mod_rewrite and mod_headers to be enabled. | |
<IfModule mod_headers.c> | |
# Serve brotli compressed CSS files if they exist and the client accepts gzip. | |
RewriteCond %{HTTP:Accept-encoding} br | |
RewriteCond %{REQUEST_FILENAME}\.br -s | |
RewriteRule ^(.*)\.css $1\.css\.br [QSA] | |
# Serve gzip compressed CSS files if they exist and the client accepts gzip. | |
RewriteCond %{HTTP:Accept-encoding} gzip | |
RewriteCond %{REQUEST_FILENAME}\.gz -s | |
RewriteRule ^(.*)\.css $1\.css\.gz [QSA] | |
# Serve brotli compressed SVG files if they exist and the client accepts gzip. | |
RewriteCond %{HTTP:Accept-encoding} br | |
RewriteCond %{REQUEST_FILENAME}\.br -s | |
RewriteRule ^(.*)\.svg $1\.svg\.br [QSA] | |
# Serve gzip compressed SCG files if they exist and the client accepts gzip. | |
RewriteCond %{HTTP:Accept-encoding} gzip | |
RewriteCond %{REQUEST_FILENAME}\.gz -s | |
RewriteRule ^(.*)\.svg $1\.svg\.gz [QSA] | |
# Serve brotli compressed JS files if they exist and the client accepts gzip. | |
RewriteCond %{HTTP:Accept-encoding} br | |
RewriteCond %{REQUEST_FILENAME}\.br -s | |
RewriteRule ^(.*)\.js $1\.js\.br [QSA] | |
# Serve gzip compressed JS files if they exist and the client accepts gzip. | |
RewriteCond %{HTTP:Accept-encoding} gzip | |
RewriteCond %{REQUEST_FILENAME}\.gz -s | |
RewriteRule ^(.*)\.js $1\.js\.gz [QSA] | |
# Serve correct content types, and prevent mod_deflate double gzip. | |
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1] | |
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1] | |
RewriteRule \.svg\.gz$ - [T=image/svg+xml,E=no-gzip:1] | |
RewriteRule \.css\.br$ - [T=text/css,E=no-gzip:1] | |
RewriteRule \.js\.br$ - [T=text/javascript,E=no-gzip:1] | |
RewriteRule \.svg\.br - [T=image/svg+xml,E=no-gzip:1] | |
<FilesMatch "(\.js\.gz|\.css\.gz|\.svg\.gz)$"> | |
# Serve correct encoding type. | |
Header set Content-Encoding gzip | |
# Force proxies to cache gzipped & non-gzipped css/js files separately. | |
Header append Vary Accept-Encoding | |
</FilesMatch> | |
<FilesMatch "(\.js\.br|\.css\.br|\.svg\.br)$"> | |
# Serve correct encoding type. | |
Header set Content-Encoding br | |
# Force proxies to cache gzipped & non-gzipped css/js files separately. | |
Header append Vary Accept-Encoding | |
</FilesMatch> | |
</IfModule> | |
# Rewrite to html cache if it exists and the request is off a static page | |
# (no url query params and only get requests) | |
RewriteCond %{REQUEST_METHOD} GET | |
RewriteCond %{QUERY_STRING} !.*=.* | |
RewriteCond %{DOCUMENT_ROOT}/cache/static%{REQUEST_URI}.html -f | |
RewriteRule ^(.*)$ /cache/static%{REQUEST_URI}.html [L] | |
# index file needs special handling | |
RewriteCond %{REQUEST_METHOD} GET | |
RewriteCond %{QUERY_STRING} !.*=.* | |
RewriteCond %{DOCUMENT_ROOT}/cache/static/index.html -f | |
RewriteCond %{REQUEST_URI} ^/$ | |
RewriteRule .* /cache/static/index.html [L] | |
RewriteCond %{REQUEST_METHOD} GET | |
RewriteCond %{REQUEST_URI} ^/$ | |
RewriteRule .* /sperrseite/index.html [L] | |
## Begin - Rewrite rules to block out some common exploits. | |
# If you experience problems on your site then comment out the operations listed | |
# below by adding a # to the beginning of the line. | |
# This attempts to block the most common type of exploit `attempts` on Joomla! | |
# | |
# Block any script trying to base64_encode data within the URL. | |
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] | |
# Block any script that includes a <script> tag in URL. | |
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] | |
# Block any script trying to set a PHP GLOBALS variable via URL. | |
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] | |
# Block any script trying to modify a _REQUEST variable via URL. | |
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) | |
# Return 403 Forbidden header and show the content of the root home page | |
RewriteRule .* index.php [F] | |
# | |
## End - Rewrite rules to block out some common exploits. | |
## Begin - Custom redirects | |
# | |
# If you need to redirect some pages, or set a canonical non-www to | |
# www redirect (or vice versa), place that code here. Ensure those | |
# redirects use the correct RewriteRule syntax and the [R=301,L] flags. | |
# | |
## End - Custom redirects | |
## | |
# Uncomment the following line if your webserver's URL | |
# is not directly related to physical file paths. | |
# Update Your Joomla! Directory (just / for root). | |
## | |
# RewriteBase / | |
## Begin - Joomla! core SEF Section. | |
# | |
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | |
# | |
# If the requested path and file is not /index.php and the request | |
# has not already been internally rewritten to the index.php script | |
RewriteCond %{REQUEST_URI} !^/index\.php | |
# and the requested path and file doesn't directly match a physical file | |
RewriteCond %{REQUEST_FILENAME} !-f | |
# and the requested path and file doesn't directly match a physical folder | |
RewriteCond %{REQUEST_FILENAME} !-d | |
# internally rewrite the request to the index.php script | |
RewriteRule .* index.php [L] | |
# | |
## End - Joomla! core SEF Section. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment