diff --git a/.htaccess_prod b/.htaccess_prod
index 2146b88e..c2d506a2 100644
--- a/.htaccess_prod
+++ b/.htaccess_prod
@@ -1,4 +1,118 @@
-SetEnv TYPO3_CONTEXT "Production"
+Deny from 131.221.187.131
+Deny from 47.254.122.100
+
+#
+###########503-for-Bots##########################
+#################################################
+
+#SetEnvIfNoCase User-Agent "Googlebot" bots
+#SetEnvIfNoCase User-Agent "Googlebot-Image" bots
+#SetEnvIfNoCase User-Agent "Googlebot-Mobile" bots
+#SetEnvIfNoCase User-Agent "Java" bots
+#SetEnvIfNoCase User-Agent "UptimeRobot" bots
+#SetEnvIfNoCase User-Agent "bingbot" bots
+#SetEnvIfNoCase User-Agent "msnbot" bots
+#SetEnvIfNoCase User-Agent "msnbot-media" bots
+SetEnvIfNoCase User-Agent "AACrawler" bots
+SetEnvIfNoCase User-Agent "AcoonBot" bots
+SetEnvIfNoCase User-Agent "AhrefsBot" bots
+SetEnvIfNoCase User-Agent "BLEXBot" bots
+SetEnvIfNoCase User-Agent "BUbiNG" bots
+SetEnvIfNoCase User-Agent "Baiduspider" bots
+SetEnvIfNoCase User-Agent "Baiduspider-image" bots
+SetEnvIfNoCase User-Agent "CCBot" bots
+SetEnvIfNoCase User-Agent "CaBot" bots
+SetEnvIfNoCase User-Agent "CompSpyBot" bots
+SetEnvIfNoCase User-Agent "Daum" bots
+SetEnvIfNoCase User-Agent "DoCoMo" bots
+SetEnvIfNoCase User-Agent "DotBot" bots
+SetEnvIfNoCase User-Agent "Exabot" bots
+SetEnvIfNoCase User-Agent "Ezooms" bots
+SetEnvIfNoCase User-Agent "Faraday" bots
+SetEnvIfNoCase User-Agent "FeedBurner" bots
+SetEnvIfNoCase User-Agent "HuaweiSymantecSpider" bots
+SetEnvIfNoCase User-Agent "Infohelfer" bots
+SetEnvIfNoCase User-Agent "JobboerseBot" bots
+SetEnvIfNoCase User-Agent "Jooblebot" bots
+SetEnvIfNoCase User-Agent "Landau-Media-Spider" bots
+SetEnvIfNoCase User-Agent "MJ12bot" bots
+SetEnvIfNoCase User-Agent "Mail.RU_Bot" bots
+SetEnvIfNoCase User-Agent "MegaIndex" bots
+SetEnvIfNoCase User-Agent "MegaIndex.ru" bots
+SetEnvIfNoCase User-Agent "MetaJobBot" bots
+SetEnvIfNoCase User-Agent "MetricsBot" bots
+SetEnvIfNoCase User-Agent "MojeekBot" bots
+SetEnvIfNoCase User-Agent "Nutch-1.10" bots
+SetEnvIfNoCase User-Agent "OnPageBot" bots
+SetEnvIfNoCase User-Agent "OpenWebSpider" bots
+SetEnvIfNoCase User-Agent "PRTGCloudBot" bots
+SetEnvIfNoCase User-Agent "PiplBot" bots
+SetEnvIfNoCase User-Agent "Pixray-Seeker" bots
+SetEnvIfNoCase User-Agent "Qwantify" bots
+SetEnvIfNoCase User-Agent "Ralocobot" bots
+SetEnvIfNoCase User-Agent "SEOkicks" bots
+SetEnvIfNoCase User-Agent "SEOkicks-Robot" bots
+SetEnvIfNoCase User-Agent "Screaming" bots
+SetEnvIfNoCase User-Agent "Seekport" bots
+SetEnvIfNoCase User-Agent "SemrushBot" bots
+SetEnvIfNoCase User-Agent "SeznamBot" bots
+SetEnvIfNoCase User-Agent "Site24x7" bots
+SetEnvIfNoCase User-Agent "Slurp" bots
+SetEnvIfNoCase User-Agent "Sosospider" bots
+SetEnvIfNoCase User-Agent "Speedy" bots
+SetEnvIfNoCase User-Agent "Spider" bots
+SetEnvIfNoCase User-Agent "Spiderlytics" bots
+SetEnvIfNoCase User-Agent "Superfeedr" bots
+SetEnvIfNoCase User-Agent "Toweya.com" bots
+SetEnvIfNoCase User-Agent "TurnitinBot" bots
+SetEnvIfNoCase User-Agent "TwengaBot" bots
+SetEnvIfNoCase User-Agent "Twiceler" bots
+SetEnvIfNoCase User-Agent "Twitterbot" bots
+SetEnvIfNoCase User-Agent "UnisterBot" bots
+SetEnvIfNoCase User-Agent "WebCapture" bots
+SetEnvIfNoCase User-Agent "XoviBot" bots
+SetEnvIfNoCase User-Agent "Yandex" bots
+SetEnvIfNoCase User-Agent "ZumBot" bots
+SetEnvIfNoCase User-Agent "adscanner" bots
+SetEnvIfNoCase User-Agent "aggregator:Spinn3r" bots
+SetEnvIfNoCase User-Agent "crawler" bots
+SetEnvIfNoCase User-Agent "crawler@alexa.com" bots
+SetEnvIfNoCase User-Agent "domaincrawler.com" bots
+SetEnvIfNoCase User-Agent "echobot" bots
+SetEnvIfNoCase User-Agent "heritrix" bots
+SetEnvIfNoCase User-Agent "htdig" bots
+SetEnvIfNoCase User-Agent "ia_archiver" bots
+SetEnvIfNoCase User-Agent "imaBot" bots
+SetEnvIfNoCase User-Agent "infometrics-bot" bots
+SetEnvIfNoCase User-Agent "jobs.de-Robot" bots
+SetEnvIfNoCase User-Agent "linkdex.com" bots
+SetEnvIfNoCase User-Agent "magpie-crawler" bots
+SetEnvIfNoCase User-Agent "meanpathbot" bots
+SetEnvIfNoCase User-Agent "pricebot" bots
+SetEnvIfNoCase User-Agent "psbot" bots
+SetEnvIfNoCase User-Agent "rogerbot" bots
+SetEnvIfNoCase User-Agent "seoscanners" bots
+SetEnvIfNoCase User-Agent "smtbot" bots
+SetEnvIfNoCase User-Agent "spbot" bots
+SetEnvIfNoCase User-Agent "spider" bots
+SetEnvIfNoCase User-Agent "ssearch_bot" bots
+SetEnvIfNoCase User-Agent "tb-webde" bots
+SetEnvIfNoCase User-Agent "textlink_status_crawler" bots
+SetEnvIfNoCase User-Agent "tracemyfile" bots
+SetEnvIfNoCase User-Agent "trendictionbot" bots
+SetEnvIfNoCase User-Agent "vebidoobot-Robot" bots
+#### Retry 12h
+Header always set Retry-After "43200" env=bots
+RewriteEngine on
+RewriteCond %{ENV:bots} 1
+RewriteRule .* - [R=503,L]
+################################################
+################################################
+#
+
+
+ Header set Strict-Transport-Security: "max-age=63072000; includeSubDomains; preload"
+
### Begin: Compression ###
@@ -108,8 +222,8 @@ AddEncoding gzip .gzip
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType application/manifest+json "access plus 1 week"
- ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
- ExpiresByType text/cache-manifest "access plus 0 seconds"
+ ExpiresByType application/x-web-app-manifest+json "access plus 1 second"
+ ExpiresByType text/cache-manifest "access plus 1 second"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
@@ -235,8 +349,12 @@ AddDefaultCharset utf-8
- # Enable URL rewriting
- RewriteEngine On
+ # Enable URL rewriting
+ RewriteEngine On
+
+ RewriteRule (wp-content|wp-admin|wp-login) https://www.ep-reisen.de/sinkhole.html [L,R=301,NC]
+ RewriteRule (rss|feeds|thread|threads|posts) https://www.ep-reisen.de/sinkhole.html [L,R=301,NC]
+ RewriteRule (forum|forums|member|members) https://www.ep-reisen.de/sinkhole.html [L,R=301,NC]
# Begin ep-events.de redirects
RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de [NC]
@@ -393,8 +511,8 @@ AddDefaultCharset utf-8
RewriteRule ^skireise-ins-val-di-sole-almazzago https://www.ep-events.de/team-building/ [L,R=301,NC]
RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de [NC]
RewriteRule ^firmenveranstaltungen/sports-active/bagger-bzw-panzerfahren https://www.ep-events.de/agentur/programm-ideen/ [L,R=301,NC]
- RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de [NC]
- RewriteRule ^Firmenveranstaltungen https://www.ep-events.de/ [L,R=301,NC]
+ #RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de [NC]
+ #RewriteRule ^Firmenveranstaltungen https://www.ep-events.de/ [L,R=301,NC]
RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de [NC]
RewriteRule ^firmenveranstaltungen/sports-active/orientierungs-erlebniswanderung https://www.ep-events.de/agentur/programm-ideen/ [L,R=301,NC]
RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de [NC]
@@ -2881,11 +2999,16 @@ AddDefaultCharset utf-8
RewriteCond %{HTTP_HOST} !^www\.ski\-boarderweek\.de
RewriteCond %{HTTP_HOST} !^skimax\.ep\-reisen\.de
RewriteCond %{HTTP_HOST} !^schnee\-event\.ep\-reisen\.de
+ RewriteCond %{HTTP_HOST} !^(www\.)?eventkonzept\.de
RewriteCond %{HTTP_HOST} !^www\.ep\-reisen\.de
RewriteRule (.*) https://www.ep-reisen.de/ [R=301,L]
# End redirect catchall subdomains
- # Force SSL for all domains
+ # Redirect eventkonzept.de for the time being
+ RewriteCond %{HTTP_HOST} ^(www\.)?eventkonzept\.de
+ RewriteRule (.*) https://www.ep-events.de/ [R=302,L]
+
+ # Force SSL for all domains
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
@@ -2895,12 +3018,20 @@ AddDefaultCharset utf-8
RewriteRule ^.*$ - [E=CWD:%2]
# Rules to set ApplicationContext based on hostname
- #RewriteCond %{HTTP_HOST} ^dev\.example\.com$
- #RewriteRule .? - [E=TYPO3_CONTEXT:Development]
- #RewriteCond %{HTTP_HOST} ^staging\.example\.com$
- #RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
- #RewriteCond %{HTTP_HOST} ^www\.example\.com$
- #RewriteRule .? - [E=TYPO3_CONTEXT:Production]
+ RewriteCond %{HTTP_HOST} ^schnee\-event\.ep\-reisen\.de$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production/Skimax]
+ RewriteCond %{HTTP_HOST} ^www\.ep\-reisen\.de$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production]
+ RewriteCond %{HTTP_HOST} ^www\.ep\-events\.de$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production]
+ RewriteCond %{HTTP_HOST} ^www\.ski\-wochenenden\.de$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production]
+ RewriteCond %{HTTP_HOST} ^www\.ski\-boarderweek\.de$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production]
+ RewriteCond %{HTTP_HOST} ^www\.unichamp\.de$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production]
+ RewriteCond %{HTTP_HOST} ^www\.snowzone\.net$
+ RewriteRule .? - [E=TYPO3_CONTEXT:Production]
# Rule for versioned static files, configured through:
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
@@ -2927,6 +3058,165 @@ AddDefaultCharset utf-8
# NOTE: Add your additional local storages here
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
+
+ ### Begin: StaticFileCache (preparation) ####
+
+ # Document root configuration
+ RewriteRule .* - [E=SFC_ROOT:%{DOCUMENT_ROOT}]
+
+ # Cleanup URI
+ RewriteCond %{REQUEST_URI} ^.*$
+ RewriteRule .* - [E=SFC_URI:/%{REQUEST_URI}]
+ RewriteCond %{REQUEST_URI} ^/.*$
+ RewriteRule .* - [E=SFC_URI:%{REQUEST_URI}]
+ RewriteCond %{REQUEST_URI} ^/?$
+ RewriteRule .* - [E=SFC_URI:/]
+
+ # Cleanup HOST
+ RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
+ RewriteRule .* - [E=SFC_HOST:%1]
+
+ # Disable cache for EXT:solr indexing requests
+ RewriteCond %{HTTP:X-Tx-Solr-Iq} .+
+ RewriteRule .* - [E=SFC_HOST:invalid-host]
+
+ # Get scheme
+ RewriteRule .* - [E=SFC_PROTOCOL:http]
+ RewriteCond %{SERVER_PORT} ^443$ [OR]
+ RewriteCond %{HTTP:X-Forwarded-Proto} https
+ RewriteRule .* - [E=SFC_PROTOCOL:https]
+
+ # Get port
+ RewriteRule .* - [E=SFC_PORT:80]
+ RewriteCond %{ENV:SFC_PROTOCOL} ^https$ [NC]
+ RewriteRule .* - [E=SFC_PORT:443]
+ RewriteCond %{SERVER_PORT} ^[0-9]+$
+ RewriteRule .* - [E=SFC_PORT:%{SERVER_PORT}]
+ RewriteCond %{HTTP:X-Forwarded-Port} ^[0-9]+$
+ RewriteRule .* - [E=SFC_PORT:%{HTTP:X-Forwarded-Port}]
+
+ # Full path for redirect
+ RewriteRule .* - [E=SFC_FULLPATH:typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}_%{ENV:SFC_HOST}_%{ENV:SFC_PORT}%{ENV:SFC_URI}/index]
+
+ # Extension (Order: br, gzip, default)
+ RewriteRule .* - [E=SFC_EXT:]
+ RewriteCond %{HTTP:Accept-Encoding} br [NC]
+ RewriteRule .* - [E=SFC_EXT:.br]
+ RewriteCond %{ENV:SFC_ROOT}/%{ENV:SFC_FULLPATH}%{ENV:SFC_EXT} !-f
+ RewriteRule .* - [E=SFC_EXT:]
+ RewriteCond %{ENV:SFC_EXT} ^$
+ RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
+ RewriteRule .* - [E=SFC_EXT:.gz]
+ RewriteCond %{ENV:SFC_EXT} ^\.gz$
+ RewriteCond %{ENV:SFC_ROOT}/%{ENV:SFC_FULLPATH}%{ENV:SFC_EXT} !-f
+ RewriteRule .* - [E=SFC_EXT:]
+
+ # Write Extension to SFC_FULLPATH
+ RewriteRule .* - [E=SFC_FULLPATH:%{ENV:SFC_FULLPATH}%{ENV:SFC_EXT}]
+
+ ### Begin: StaticFileCache (main) ####
+
+ # We only redirect URI's without query strings
+ RewriteCond %{QUERY_STRING} ^$
+
+ # It only makes sense to do the other checks if a static file actually exists.
+ RewriteCond %{ENV:SFC_ROOT}/%{ENV:SFC_FULLPATH} -f
+
+ # NO frontend or backend user is logged in. Logged in users may see different
+ # information than anonymous users. But the anonymous version is cached. So
+ # don't show the anonymous version to logged in users.
+ RewriteCond %{HTTP_COOKIE} !staticfilecache [NC]
+
+ # We only redirect GET requests
+ RewriteCond %{REQUEST_METHOD} GET
+
+ # Rewrite the request to the static file.
+ RewriteRule .* %{ENV:SFC_ROOT}/%{ENV:SFC_FULLPATH} [L]
+
+ # Do not allow direct call the cache entries
+ RewriteCond %{ENV:SFC_URI} ^/typo3temp/tx_staticfilecache/.*
+ RewriteCond %{ENV:REDIRECT_STATUS} ^$
+ RewriteRule .* - [F,L]
+
+ # Handle application cache
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_FILENAME} !-l
+ RewriteRule ^.*\.sfc$ %{ENV:CWD}index.php?eID=sfc_manifest [QSA,L]
+
+ ### Begin: StaticFileCache (options) ####
+
+ # Set proper content type and encoding for gzipped html.
+
+ SetEnv no-gzip 1
+ SetEnv no-brotli 1
+
+ Header set Content-Encoding gzip
+
+
+
+ SetEnv no-gzip 1
+ SetEnv no-brotli 1
+
+ Header set Content-Encoding gzip
+
+
+
+ SetEnv no-gzip 1
+ SetEnv no-brotli 1
+
+ Header set Content-Encoding br
+
+
+
+ # if there are same problems with ForceType, please try the AddType alternative
+ # Set proper content type gzipped html
+
+ ForceType text/html
+ # AddType "text/html" .gzip
+
+
+ ForceType text/xml
+ # AddType "text/xml" .gzip
+
+
+ ForceType text/xml
+ # AddType "text/xml" .gzip
+
+
+ ForceType text/html
+ # AddType "text/html" .gz
+
+
+ ForceType text/xml
+ # AddType "text/xml" .gz
+
+
+ ForceType text/xml
+ # AddType "text/xml" .gz
+
+
+ ForceType text/html
+ # AddType "text/html" .br
+
+
+ ForceType text/xml
+ # AddType "text/xml" .br
+
+
+ ForceType text/xml
+ # AddType "text/xml" .br
+
+
+ # Avoid .br files being delivered with Content-Language: br headers
+
+ RemoveLanguage .br
+
+
+ ### End: StaticFileCache ###
+
+
+
# If the file/symlink/directory does not exist => Redirect to index.php.
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
RewriteCond %{REQUEST_FILENAME} !-f