搜索

首页  >  问答  >  正文

rewrite - nginx alias的用途具体是什么?

最近在看nginx,但是不太清楚alias的用途具体有什么用?root和rewrite都可以实现它,为什么还要使用alias呢?

root /data/mydomain/main/web/;
location ~* ^/app(|/)$ {
        #alias /data/mydomain/main/public/app/;
        rewrite  ^/app(|/)$ /public/app/ last;
        expires 30s;
}

上面的配置中,rewrite生效了达到我的预期。但是alias这个就出现了问题。

黄舟黄舟2751 天前500

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-05-16 17:17:38

    这是你自己的理解问题,首先rewrite和root以及alias根本不沾边。
    rewrite是针对http请求的,他里面的路径是网址里面的地址,是地址间的转换。
    而root和alias是系统文件路径的设置。
    区中root用来设置根目录,而alias用来重置当前文件的目录。

    location /img/ {
        alias /var/www/image/;
    }
    #若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
    location /img/ {
        root /var/www/image;
    }
    #若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。]

    回复
    0
  • 取消回复