【发布时间】:2014-02-16 15:48:22
【问题描述】:
我只需要用php处理一些特定的url,比如:
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
共鸣:
404
错误日志报告:
open() "/usr/share/nginx/orange" failed (2: No such file or directory)
附言简单的位置,例如:
location /orange {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/processor.php;
fastcgi_pass 127.0.0.1:9000;
expires -1;
}
有效。
【问题讨论】: