我有这样的目录结构:
HTML
|
|--android/
|--ios/
简而言之,我在 HTML/ 中有 2 个目录(ios 和 android)
两个目录都包含 index.html 。在 android/index.html 中有关联到 ../ios & 在 ios/index.html 中有关联到 ../android 用于将用户从 ios 切换到 android 以及从 android 切换到 ios..
server {
listen 80 default_server;
root /home/vishant/HTML;
index index.html index.htm;
server_name wishfeed.l;
location / {
try_files $uri $uri/ =404;
}
}
我的 nginx 配置如上所示。
如果用户代理是 ios / 如果用户代理是 android,如何提供目录。
答案1
这map
指示可以从字符串向下生成适当的文档根user-agent
。
例如:
map $http_user_agent $root {
"~*android" /home/vishant/HTML/android;
"~iPhone" /home/vishant/HTML/ios;
default /home/vishant/HTML;
}
您必须自己研究正则表达式,因为我不知道它们是否适用于所有情况。
上述代码块位于配置文件上下文中的代码块map
上方。在本例中,它创建了一个名为的变量,可在代码块中使用。server
http
$root
server
如果您需要从任一子目录提供整个网站的内容,请像这样$root
设置全局变量:root
server {
...
root $root;
location / {
...
}
}
如果只希望 URI/index.html
受到影响,请$root
在某个位置内使用。例如:
location = /index.html {
root $root;
}