мне нужно обрабатывать с PHP только некоторые конкретные адреса, такие как:Nginx: перейти на PHP только конкретные адреса
http://10.0.0.1/orange
http://10.0.0.1/pear
http://10.0.0.1/apple
любые другие строки, например:
http://10.0.0.1/orange/
http://10.0.0.1/orangeee
http://10.0.0.1/ora.gif
http://10.0.0.1/orange.php
должен быть заблокирован с 404 или 400 (лучше)
это мой сервер блок:
server {
listen 10.0.0.1:80;
server_name 10.0.0.1;
root /usr/share/nginx/;
location ~^(apple|orange|pear)$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/processor.php;
fastcgi_pass 127.0.0.1:9000;
expires -1;
}
}
Это Безразлично работы, как ожидалось:
Запрос:
POST http://10.0.0.1/orange
Resonse:
404
ошибка отчетов журнала:
open() "/usr/share/nginx/orange" failed (2: No such file or directory)
P.S. простые места, такие как:
location /orange {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/processor.php;
fastcgi_pass 127.0.0.1:9000;
expires -1;
}
работает.
не работает, то же ошибка – user3262353