set定义变量

将用户请求url.etiantian.org.zh跳转到url.etiantian.org/zh,将用户请求url.etiantian.org.en跳转到url.etiantian.org/en
根据客户端浏览器请求头语言进行跳转:

cat /etc/nginx/conf.d/url.etiantian.org.conf
server {
    listen 80;
    server_name url.etiantian.org.zh url.etiantian.org.en;

    location / {
        set $lang zh;
        if ($http_host ~* "zh") {
            set $lang zh;
        }

        if ($http_host ~* "en"){
            set $lang en;
        }

        # 这个跳转会执行,lang这个变量是什么取决于用户请求的是什么域名 ,permanent:表示重定向类型为 301(永久重定向)
        rewrite ^/$ http://url.etiantian.org/$lang/ permanent;   
    }
}
server {
    listen 80;
    server_name url.etiantian.org;
    root /data/www;
    location / {
        index index.html;
    }
}


mkdir /data/www/zh -p
mkdir /data/www/en -p
echo "zh" > /data/www/zh/index.html
echo "en" > /data/www/en/index.html
nginx -t
nginx -s reload

curl -L url.etiantian.org.zh   #-L 让 curl 自动跟随重定向,最终返回目标内容。
zh
curl -L url.etiantian.org.en
en
posted @ 2025-08-14 22:05  阿峰博客站  阅读(6)  评论(0)    收藏  举报