
Ich hatte Probleme mit dieser Nginx-Konfiguration und nachdem ich diese Site durchforstet habe, frage ich mich, ob das überhaupt möglich ist.
Ich habe eine sehr einfache Single-Page-App mit folgendem Routing:
server {
listen 80 default_server;
root /var/www/html;
location / {
try_files $uri $uri/ /index.html;
}
}
Die von dieser Konfiguration bereitgestellte SPA (eine Gatsby-Site, falls das wichtig ist) enthält Routen wie domain.com/about
und , domain.com/about/some-page
die bestimmte Inhalte bereitstellen. Es gibt jedoch eine ältere Version der Website, die keine SPA war und Seiten wie domain.com/about.html
und enthält domain.com/about.html#some-page
, die jeweils gleichwertige Inhalte bereitstellen.
domain.com/about.html
Ich würde wirklich gern umleiten können , domain.com/about
sodass alte Links zu der Site, die bereits im Umlauf sind, noch immer auf die richtige Route des SPA führen, aber alle meine Versuche, Umschreibungen vorzunehmen, geben entweder einfach eine 404-Fehlermeldung zurück oder führen zurück zur Wurzel.domain.com/about.html#some-page
domain.com/about/some-page
Ist es möglich, die URL sowohl umzuschreiben (also domain.com/about.html
> domain.com/about
) als auch umzuleiten, /index.html
sodass sie als SPA funktioniert?
Antwort1
Ich konnte dieses Problem lösen, indem ich die Nginx-Konfiguration unverändert ließ und die URL-Umschreibungen auf der Clientseite in Gatsby mithilfe von Reach Router vornahm.