65 lines
2.1 KiB
ApacheConf
65 lines
2.1 KiB
ApacheConf
RewriteEngine On
|
|
|
|
# 1) Nur Root von *.ismyusbfake.com nach /fakecheck/ umleiten
|
|
RewriteCond %{HTTP_HOST} (^|\.)ismyusbfake\.com$ [NC]
|
|
RewriteRule ^$ /fakecheck/ [L,R=301]
|
|
|
|
# 1b) *.ismyusbfake.com mit Subpfad:
|
|
# /123456 → /fakecheck/?referrer=123456
|
|
RewriteCond %{HTTP_HOST} (^|\.)ismyusbfake\.com$ [NC]
|
|
# nicht erneut anfassen, wenn wir schon in /fakecheck/ sind
|
|
RewriteCond %{REQUEST_URI} !^/fakecheck(/|$) [NC]
|
|
# genau ein Segment: /slug oder /slug/
|
|
RewriteCond %{REQUEST_URI} ^/([^/]+)/?$ [NC]
|
|
RewriteRule ^ /fakecheck/?referrer=%1 [L,R=302]
|
|
|
|
# 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]
|