Zum Inhalt

mod_rewrite Rules für Angular/SPA’s

Um eine Angular SPA unter Apache Webserver zu betreiben wird man um die Verwendung von mod_rewrite, für die Handhabung der Routes auf index.html, und mod_proxy, für die Weiterleitung der API Aufrufe nicht umhinkommen.

Der erste Schritt ist also zu prüfen ob die beiden Module installiert und vor allem aktiviert sind.

Der erste Satz an Regeln für mod_rewrite ist schließt existierende Dateien und Verzeichnisse aus. Damit stellt man sicher, dass neben index.hml die Assets (css, js, fonts usw.) ausgeliefert werden. Dafür sind die ersten zwei RewriteCond zuständig. In der dritten Bedingung stellen man sicher, dass die Request mit dem api Präfix in der URL ausgeschlossen werden:

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteCond %{REQUEST_URI} !^/api/.*$
RewriteRule ^ - [L] 

Im nächsten Block wird die „übrig gebliebenen“ URLs auf die index.html umgeschrieben. Dabei wird wie im ersten Regelblock der api Präfix ausgeschlossen:

RewriteCond %{REQUEST_URI} !^/api/.*$
RewriteRule ^ /index.html [L] 

Die letzte Regel leitet die Requests auf den api-Endpunkt:

RewriteRule ^/api/(.*)$ http://app-backend:8080/api/$1 [P]  
Published inAngularBlogProgrammieren

Schreibe den ersten Kommentar

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.