RewriteEngine On # 1) Nur Root von *.ismyusbfake.com nach /fakecheck/ umleiten RewriteCond %{HTTP_HOST} (^|\.)ismyusbfake\.com$ [NC] RewriteRule ^$ /fakecheck/ [L,R=301] # 2) /uploads/avatar schützen RewriteRule ^uploads/avatar/ - [F] # 3) Auth-Routen explizit (weiterhin so lassen) RewriteRule ^auth/login/?$ auth/login.php [L] RewriteRule ^auth/register/?$ auth/register.php [L] RewriteRule ^auth/logout/?$ auth/logout.php [L] # 4) Generische Landingpage-Regel # /slug -> /landingpage/slug/index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # nichts versuchen für diese "System-Pfade" RewriteCond %{REQUEST_URI} !^/(auth|assets|uploads|landingpage)/ [NC] # Request muss die Form /irgendwas oder /irgendwas/ haben RewriteCond %{REQUEST_URI} ^/([^/]+)/?$ [NC] # Und es muss eine passende landingpage/{slug}/index.php geben RewriteCond %{DOCUMENT_ROOT}/landingpage/%1/index.php -f # Dann dorthin rewriten RewriteRule ^ landingpage/%1/index.php [L] # 5) Deine bisherigen Fallback-Regeln # a) /foo -> foo.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+?)/?$ $1.php [L] # b) /foo -> foo/index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}/index.php -f RewriteRule ^(.+?)/?$ $1/index.php [L] ############################################### # 6) Globaler 404-Fallback # Alles was jetzt noch übrig bleibt → 404-Seite ############################################### RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # systempfade nicht abfangen RewriteCond %{REQUEST_URI} !^/(assets|uploads|auth|landingpage|_errors)/ [NC] # interne Weiterleitung auf deine Fehlerseite RewriteRule ^ _errors/404.php [L]