Kolben 301 Antwort
Mein Kolben app macht einen 301
redirect für eine der urls.
Den traceback in New Relic ist:
Traceback (most recent call last):
File "/var/www/app/env/local/lib/python2.7/site-packages/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/var/www/app/env/local/lib/python2.7/site-packages/flask/app.py", line 1336, in dispatch_request
self.raise_routing_exception(req)
File "/var/www/app/env/local/lib/python2.7/site-packages/flask/app.py", line 1319, in raise_routing_exception
raise request.routing_exception
RequestRedirect: 301: Moved Permanently
Sieht es nicht aus, es ist sogar das schlagen meines Codes, oder eher der traceback nicht angezeigt, alle meine Dateien in es. An einem Punkt habe ich Nginx umleiten, alle nicht-SSL-Anfrage an HTTPS, sondern hatte zu deaktivieren, der Lack war nicht in der Lage, um die Anfrage an port 443
mit einen Fehler raus... wahrscheinlich auch einige, die Konfiguration, die ich Tat oder nicht stellen.
Es nicht immer wieder ein 301
obwohl, ich kann verlangen, dass der URL und get es ohne Probleme. Aber jemand aus in der Welt erbitten, die URL ist immer eine 301
Antwort.
Es ist ein GET
Anfrage mit einige benutzerdefinierte Header für die Verbindung in Rechnung zu stellen.
An keiner Stelle in meinem code gibt es eine 301
umleiten.
- Sind Sie mit so etwas wie Kolben-Login mit einer session-basierte Authentifizierung-Methode? In solchen Fällen ist es üblich, redirect zur login-Seite mit einer 301-Weiterleitung.
- Diese bestimmte Seite ist ein einfaches JSON-Dokument, ist keine Anmeldung erforderlich, aber ein Gültiger API-key im Header ist.
- Werkzeug standardmäßig leitet auf die version mit der
/
wenn die route zugeordnet ist, um einen Pfad endet in/
aber Zugriff auf den Inhalt ohne die/
. - Können wir die route/code?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den traceback zeigt, dass es die route und die entsprechende hob eine Umleitung; in der Regel (z.B. wenn Sie Hinzugefügt expliziten redirect-Route), das bedeutet, dass der client versucht, Zugriff auf eine Zweig URL (eine, die endet mit einem trailing slash), aber die angeforderte URL nicht enthalten, den letzten slash. Der client wird einfach nur umgeleitet auf die kanonische Niederlassung URL mit dem Schrägstrich.
Aus der Werkzeug
Regeln
- Dokumentation:Aus der routing-Dokumentation:
Dokumentiert, wenn Sie nicht wollen dieses Verhalten (und die url ohne abschließenden Schrägstrich ein 404 Nicht Gefunden statt), müssen Sie die
strict_slashes=False
option auf Ihrer route.