RewriteEngine On RewriteBase / # Ohne dies leitet Apache (mod_dir) Anfragen an /api/uploads mit einem 301 auf # /api/uploads/ um, bevor mod_rewrite greifen kann - weil api/uploads/ als # echtes Verzeichnis existiert. Bei einem POST mit Datei-Upload geht dabei der # Body verloren (der Browser sendet den redirect als GET nach), wodurch der # Upload mit "Methode nicht erlaubt" fehlschlägt. DirectorySlash Off # API-Requests an den PHP-Front-Controller weiterleiten RewriteCond %{REQUEST_URI} ^/api/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^api/(.*)$ api/public/index.php [QSA,L] # Dynamische sitemap.xml (DB-generiert) RewriteRule ^sitemap\.xml$ api/public/sitemap.php [L] # Alles andere: SPA-Fallback auf index.html (React Router übernimmt das Routing) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.html [QSA,L]