Mam przepisany plik ngng conf, który działa poprawnie, ale wydaje się, że zawiera blok lokalizacji jako część zmiennej $ uri. Chcę tylko ścieżki po bloku lokalizacji. Mój obecny kod konfiguracji to:
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
Korzystając z przykładowego http://localhost/cargo/testpage
adresu URL przekierowania, działa jednak wartość parametru „_REWRITE_COMMAND” otrzymana przez mój plik php to „/ cargo / testpage”. Muszę zdjąć blok lokalizacji i po prostu mieć „stronę testową” jako $ uri
Jestem prawie pewien, że istnieje składnia wyrażenia regularnego do podziału $ uri i przypisania jej do nowej zmiennej za pomocą 1 $ 2 $ itp., Ale nie mogę znaleźć żadnego przykładu wykonania przypisania zmiennej za pomocą wyrażenia regularnego, które nie jest częścią przepisywania komunikat. Szukałem i próbowałem od wielu godzin i po prostu nie mogę przejść tego ostatniego kroku.
Wiem też, że mógłbym po prostu usunąć to z kodu aplikacji, ale powód, dla którego chcę spróbować go naprawić w conf nginx, wynika z powodów kompatybilności, ponieważ działa on również na Apache. Ja też powinien powiedzieć, że zorientowali się, naprawdę hacky sposób to zrobić, ale to wiąże się z „if” w celu sprawdzenia istnienia pliku i specjalnie przygotowanej dokumentacji mówi nie zrobić to w ten sposób.
Znalazłem inną rzecz, która zadziałała dla mnie (kiedy używam gunicorn, nie mogę wybrać, co przekazać)
Powinieneś być w stanie uciec
źródło
W przypadku osób, które mogą mieć problem z dodaniem go do usługi mikro lub interfejsu API za pomocą Node JS, użyłem następującego narzędzia do usunięcia
api
z adresu URL na moim serwerze:źródło