Answers:
使用Nginx 地理模块。它使您可以基于客户端IP地址设置变量的值。geo
指令必须位于以下http
部分:
http {
geo $client {
default extra;
10.0.0.0/8 intra;
}
您以后可以在位置中使用它来查找文件
location / {
try_files $uri.$client $uri = 404;
}
这意味着,Nginx将设置$client
为extra
或intra
基于客户端的IP。假设它是一个Intranet客户端。如果客户要求page.html
,Nginx将搜索文件/your/root/page.html.intra
。如果没有这样的文件,它将搜索/your/root/page.html
。如果找不到以上两种方法,Nginx将返回404“未找到”响应。文档中有关“ try_files”的更多信息
顺便说一句,index
指令也支持变量。例如
index index.$client.html index.html;