Я работаю над фрагментом устаревшего кода, я не могу изменить, куда он отправляет POST, поэтому мне просто нужно найти способ обойти его.
Часть Javascript делает сообщение следующим образом:
POST / аутентификация / логин /
что довольно странно, учитывая, что он отправляется в каталог, но в любом случае я хочу настроить Nginx для приема сообщений в это место, а затем передать их немного PHP в моей конфигурации Nginx, у меня есть следующее внутри блока http
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /authentication/login/ {
index hello.php;
#root html;
#index /usr/local/nginx/html/hello.php;
}
location ~.php$ {
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}
Материал php работает, я могу сразу перейти к hello.php, и он работает.
Мои журналы ошибок / журналы доступа действительно не дают мне многого. Я получал 404 на hello.php, но исправил это, добавив "index". Однако это так и не закончилось вызовом бита php. Я также пробовал помещать файлы fastcgi в папку / authentication / login / в nginx.conf.
По сути, если я отправляю что-то в / аутентификацию / логин, я хочу вызвать часть php для возврата необходимых значений.
Как правильно написать этот блок местоположения? Любые идеи?
Вам нужно будет указать точное местоположение, чтобы nginx обработал его до блока ~ .php {}, скопируйте параметры fastcgi, чтобы URL-адрес был передан на php, и измените URI с помощью правила перезаписи. Блок конфигурации с указанием места входа должен выглядеть примерно так:
location = /authentication/login/ {
rewrite ^(.*) /hello.php last;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}