Wie konfiguriere ich Nginx-Umschreibregeln, um die Indexseite für eine einseitige JS-Anwendung zu entfernen und nicht gehashte URLs auf gehashte URLs umzuleiten?

Wie konfiguriere ich Nginx-Umschreibregeln, um die Indexseite für eine einseitige JS-Anwendung zu entfernen und nicht gehashte URLs auf gehashte URLs umzuleiten?

Ich bin Softwareentwickler und schreibe eine einseitige JS-Anwendung. Ich bin keineswegs ein Systemadministrator, also haben Sie bitte etwas Geduld mit mir.

Ich möchte erreichen, dass Weiterleitungen immer dann erfolgen, wenn ein Benutzer meine Site mit einem von zwei möglicherweise häufigen/unerwünschten URL-Mustern aufruft.

  1. mysite.com/index.html -> Weiterleitung zu mysite.com
  2. mysite.com/path/they/remember -> Weiterleitung zur gehashten Version: mysite.com/#/path/they/remember

Ich habe es auf verschiedene Arten versucht, aber ich stoße immer wieder auf Umleitungsschleifen. Hier ist meine aktuelle Konfiguration:

Hinweis: Sie werden feststellen, dass bei /api alle Anfragen auch intern über einen leichten OAuth-Proxy umgeleitet werden müssen, sodass die von mir verwendete Lösung diese Umleitung nicht unterbrechen kann.

server {

# Redirect all requests through /api/ to apiproxy.php
location /api {
    rewrite ^/api/?(.*)$ /apiproxy.php/$1 last;
}

location / {
    index index.html
}

# use case #1 (combined with use case #2 optionally, a url such as mysite.com/index.html/path/they/remember)
location ~ /index.html/?(.*) {
    return 301 http://mysite.com\#/$1;
}

location ~ /(.*) {
    return 301 http://mysite.com\#/$1;
}

Dieses Setup führt bei mir zu Umleitungsschleifen. Hat jemand Vorschläge oder weiß jemand, wie ich das, was ich versuche, mit der Nginx-Methode erreichen kann?

Antwort1

Erhöhen Sie zunächst den Protokolllevel und überprüfen Sie Ihre Protokolle.

Ihr letzter Standortblock scheint falsch zu sein.

außerdem return 301 http://mysite.com\#/$1;scheint es nicht legitim zu sein; wollten Sie das tun return 301 http://mysite.com/\#/$1/;?

musst du fliehen #?

verwandte Informationen