scot .php
fișier atașat în aplicație, dar de data aceasta paginile de acțiune ale aplicației nu funcționează. Pentru că am eliminat .php
sufix la sfârșitul fișierelor.
De exemplu, vreau să trimit date către a colectarea
fișier cu AJAX, dar primesc 302 returnări.
https://panel.example.com/application/collect
Nu există nicio problemă cu alte fișiere ale aplicației.
https://panel.example.com/login
*Versiune fără rescriere:*
https://panel.example.com/index.php?cmd=login
Cum pot rezolva problema de redirecționare 302 din fișierele de lucru ale aplicației? Unde gresesc?
Locație / {
try_files $uri $uri/ /index.php?$args;
}
rescrie ^/([^/]+)/([^/]+)?$ /index.php?cmd=$1&scd=$2 pauză;
rescrie ^/([^/]+)/?$ /index.php?cmd=$1 pauză;
Codul de mai sus nu este inclus în fișierul de configurare complet. Am încărcat fișierul curat.
CURL de CMD;
C:\Utilizatori\emres>curl -I https://panel.example.com/application/collect
HTTP/1.1 302 găsit
Server: nginx/1.18.0
Data: duminica, 02 ianuarie 2022 12:32:57 GMT
Tip de conținut: text/html; set de caractere=utf-8
Conexiune: păstrați-vă în viață
Set-Cookie: PHPSESSID=pvn7l2g8babucp9a9mkuo5ll0v; cale=/; domeniu=.example.com
Expiră: joi, 19 noiembrie 1981 08:52:00 GMT
Cache-Control: fără stocare, fără cache, revalidare obligatorie
Pragma: fără cache
Acces-Control-Max-Vârsta: 86400
Acces-Control-Permite-Acreditări: adevărat
Locație: https://panel.example.com/login?returnBack=http://panel.example.com/application/collect
error.log:
curat.
access.log:
192.168.1.145 - - [02/Ian/2022:15:36:22 +0300] „GET /application/collect HTTP/1.1” 302 5 „-” „Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/ 537.36 (KHTML, ca Gecko) Chrome/96.0.4664.93 Safari/537.36 OPR/82.0.4227.33"
192.168.1.145 - - [02/Jan/2022:15:36:22 +0300] "GET /login?returnBack=https://panel.example.com/application/collect HTTP/1.1" 200 3977 "-" " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/96.0.4664.93 Safari/537.36 OPR/82.0.4227.33"
192.168.1.145 - - [02/Jan/2022:15:36:22 +0300] „GET /libs/out/general-js.php?v=61d19c464ab3b HTTP/1.1” 200 390 „https://panel.example .com/login?returnBack=https://panel.example.com/application/collect" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/96.0.4664.93 Safari/ 537.36 OPR/82.0.4227.33"
192.168.1.145 - - [02/Jan/2022:15:36:22 +0300] „POST /application/collect HTTP/1.1” 302 5 „https://panel.example.com/login?returnBack=https:/ /panel.example.com/application/collect" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/96.0.4664.93 Safari/537.36 OPR/82.0.4227"
192.168.1.145 - - [02/Jan/2022:15:36:22 +0300] „GET /login?returnBackUnit=https://panel.example.com/application/collect HTTP/1.1” 200 3981 „https:/ /panel.example.com/login?returnBack=https://panel.example.com/application/collect" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, cum ar fi Gecko) Chrome/96.0 .4664.93 Safari/537.36 OPR/82.0.4227.33"
Nginx: 1.18
Cred că detectează calea „aplicare/colectare” diferit. Îl detectează ca aplicarea
pentru cmd
și colectarea
pentru scd
pentru index.php
Pentru că pot accesa această pagină:
https://panel.example.com/application/microServices/web
- dar, https://panel.example.com/application/collect
imposibil de accesat. Cred că afectează rescrierea.