multilingual hreflang & .htaccess – Webmasters Stack Exchange

I have found several questions concerning multilingual websites and .htaccess rewrite rules.
Unfortunately I am only dealing with my website once a year and I am unable to interpret those answers to my use case.
So here is another rewrite rule question:

I have https://www.example.com which is in german and only has two pages: index.html and showreel.html.
I have now added an english version to the site at https://www.example.com/en with a translated pair of index.html and showreel.html pages sitting in the /en/ subfolder.

From doing research I have changed my .htaccess file in the root folder to this:


RewriteOptions inherit
RewriteEngine on

RewriteCond %{HTTP_REFERER} !^http://example.com/.*$      (NC)
RewriteCond %{HTTP_REFERER} !^http://example.com$      (NC)
RewriteCond %{HTTP_REFERER} !^https://www.example.com/.*$      (NC)
RewriteCond %{HTTP_REFERER} !^https://www.example.com$      (NC)
RewriteCond %{HTTP_REFERER} !^https://example.com/.*$      (NC)
RewriteCond %{HTTP_REFERER} !^https://example.com$      (NC)
RewriteCond %{HTTP_REFERER} !^https://www.example.com/.*$      (NC)
RewriteCond %{HTTP_REFERER} !^https://www.example.com$      (NC)
RewriteCond %{REQUEST_URI} !^/.well-known/cpanel-dcv/(0-9a-zA-Z_-)+$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/(?: Ballot169)?
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/(A-F0-9){32}.txt(?: Comodo DCV)?$
RewriteRule .*.(jpg|jpeg|gif|png|bmp)$ - (F,NC)
RewriteCond %{HTTP_HOST} ^mysite.film$
RewriteCond %{REQUEST_URI} !^/.well-known/cpanel-dcv/(0-9a-zA-Z_-)+$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/(?: Ballot169)?
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/(A-F0-9){32}.txt(?: Comodo DCV)?$
RewriteRule ^/?$ "https://www.example.com/" (R=301,L)

# language is ES (spanish)
RewriteCond %{HTTP:Accept-Language} ^es (NC)
RewriteRule ^$ /en/ (L,R=301)

# language starts with DE
RewriteCond %{HTTP:Accept-Language} ^de (NC)
RewriteRule ^$ / (L,R=301)

# language starts with FR
RewriteCond %{HTTP:Accept-Language} ^fr (NC)
RewriteRule ^$ /en/ (L,R=301)

# language starts with IT
RewriteCond %{HTTP:Accept-Language} ^it (NC)
RewriteRule ^$ /en/ (L,R=301)

# language starts with EN
RewriteCond %{HTTP:Accept-Language} ^en (NC)
RewriteRule ^$ /en/ (L,R=301)

# else redirect to the English version
RewriteRule ^$ /en/ (L,R=301)

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType img/jpg "access plus 1 year"
ExpiresByType img/jpeg "access plus 1 year"
ExpiresByType img/gif "access plus 1 year"
ExpiresByType img/x-icon "access plus 1 year"
ExpiresByType img/png "access plus 1 year"
ExpiresByType css/css "access plus 1 month"
ExpiresByType js/x-javascript "access plus 1 month"
ExpiresDefault "access plus 2 days"
</IfModule>

On top of that, both index.html and showreel.html have these hreflang links in the HEAD tag:

<link rel="alternate" hreflang="de" href="/" />
<link rel="alternate" hreflang="en" href="/en/" />
<link rel="alternate" href="/en/" hreflang="x-default" />

In short: This didnt work. The german, “root” page didnt come up anymore for browsers et in german.

What should happen is, that german-set browsers will be served https://www.example.com. All other visitors will be served https://www.example.com/en

Would anybody be able to point me to where I am going wrong here?