Options -MultiViews
RewriteEngine On

# Keep clean URLs working even when Apache's MultiViews is enabled/disabled.
RewriteRule ^$ public/index.php [L]

# Earn money module (independent)
RewriteRule ^earn-money/?$ earn_money.php [L,QSA]
RewriteRule ^e/([A-Za-z0-9_-]+)/?$ earn_money.php?task=$1 [L,QSA]
RewriteRule ^earn-admin/?$ earn_admin.php [L,QSA]

# URL shortener (independent module)
RewriteRule ^shortener/?$ shortener.php [L,QSA]

# Public application views
RewriteRule ^(dashboard|settings|connect|subscribers|comments|messages|automation|utility|campaigns|posts|subscriptions|logs|graph_tester)/?$ public/index.php?view=$1 [L,QSA]

RewriteRule ^s/([A-Za-z0-9_-]+)/?$ short_redirect.php?code=$1 [L,QSA]

# Standalone UI pages
RewriteRule ^login/?$ login.php [L,QSA]
RewriteRule ^signup/?$ signup.php [L,QSA]
RewriteRule ^forgot-password/?$ forgot-password.php [L,QSA]
RewriteRule ^reset-password/?$ reset-password.php [L,QSA]
RewriteRule ^logout/?$ logout.php [L,QSA]
RewriteRule ^account/?$ account.php [L,QSA]
RewriteRule ^admin/?$ admin.php [L,QSA]
RewriteRule ^subscription-admin/?$ subscription_admin.php [L,QSA]
RewriteRule ^support/?$ support.php [L,QSA]
RewriteRule ^sync_pages/?$ sync_pages.php [L,QSA]
RewriteRule ^data-deletion/?$ data-deletion.php [L,QSA]
RewriteRule ^terms-of-service/?$ terms-of-service.php [L,QSA]
RewriteRule ^privacy-policy/?$ privacy-policy.php [L,QSA]

# Legacy public/index.php?view=... -> clean view URL
RewriteCond %{THE_REQUEST} \s/+public/index\.php\?view=([^&\s]+) [NC]
RewriteRule ^public/index\.php$ /%1 [R=301,L,NE]

# Legacy UI .php URLs -> clean URLs.
RewriteCond %{THE_REQUEST} \s/+((?:login|signup|forgot-password|reset-password|logout|account|admin|subscription-admin|support|sync_pages|data-deletion|terms-of-service|privacy-policy))\.php(?:[?\s]) [NC]
RewriteRule ^(.+)\.php$ /$1 [R=301,L,NE]
