RewriteEngine On

# Add CORS headers to all responses
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
    Header set Access-Control-Allow-Headers "Content-Type, Authorization"
</IfModule>


# Redirect Pulsetic
RewriteCond %{HTTP_USER_AGENT} ^Pulsetic [NC]
RewriteRule ^.*$ /timeline.html [R=302,L]
# Redirect UptimeRobot
RewriteCond %{HTTP_USER_AGENT} ^UptimeRobot [NC]
RewriteRule ^.*$ /timeline.html [R=302,L]


#user/status/ -to just- /status
#RewriteCond %{HTTP_REFERER} !^https?://(www\.)?alceawis\.com/ [NC]
#RewriteRule ^alceawis/([0-9]{8}-[a-f0-9]+)$ /alceawis/status/$1 [R=301,L]

# Match /alceawis/status/* URLs (if you disable second line, remote resolve will be impossible)
#RewriteCond %{REQUEST_URI} ^/alceawis/status/.+$
#RewriteCond %{HTTP_REFERER} ^https?://(www\.)?alceawis\.com [NC]
#RewriteRule ^alceawis/status/(.+)$ /_https://alceawis.com/alceawis/status/$1 [R=301,L]

# Redirect /users/username to /username dynamically
RewriteRule ^users/([^/]+)/?$ /$1 [R=301,L]

#v1 statuses endpoint
#RewriteRule ^api/v1/statuses(.*)$ /alceawis/status$1 [R=301,L]

#users
RewriteRule ^users/([^/]+)/?$ /$1 [R=301,L]

#lookup
RewriteRule ^api/v1/accounts/lookup$ /lookup.php [L,R=301]




#user/$user/inbox to /$user/inbox & outbox
#RewriteRule ^users/alceawis/inbox$ /alceawis/inbox [R=301,L]
#RewriteRule ^users/alceawis/outbox$ /alceawis/outbox [R=301,L]

# Redirect /@username to /username (optional, but common)
RewriteRule ^@([^/]+)$ /$1 [R=302,L]

# Match any request URI that contains "custom_emojis"
RewriteCond %{REQUEST_URI} custom_emojis
RewriteRule ^.*$ custom_emojis.php [L,QSA]

# Redirect /api/v1/instance/peers to peers.php
RewriteRule ^api/v1/instance/peers$ peers.php [L,QSA]

# Redirect /api/v1/instance requests to instance.php
RewriteCond %{REQUEST_URI} ^/api/v1/instance$
RewriteRule ^api/v1/instance$ /instance.php [L,QSA]

# If the request URI contains "nodeinfo" (including under .well-known), rewrite to /nodeinfo.php
RewriteCond %{REQUEST_URI} nodeinfo
RewriteRule ^.*$ nodeinfo.php [L,QSA]


# Route all requests except existing files or directories to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [QSA,L]
