RewriteEngine On # Add CORS headers to all responses Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET, POST, OPTIONS" Header set Access-Control-Allow-Headers "Content-Type, Authorization" # 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]