zoukankan      html  css  js  c++  java
  • [转]nginx虚拟目录(alias与root的区别)

    今天配置awstats,awstats创建出的文件目录在/home/awstats下,在nginx中加入配置后狂报404,发现还是忽略了root和alias的区别,特将修改配置记录如下:
    1.失败:server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            root  /home/awstats/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
    2.失败: server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            alias  /home/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
     
    3.成功: server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            alias  /home/awstats/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
    4.成功: server {
            server_name  test.com;
            charset utf-8,GB2312;
            index  index.html;
     
            location / {
            root html;
            access_log logs/access.log main;
             }

            location ~ ^/awstats/ {
            root  /home/;
            index  index.html;
            access_log off;
            error_log off;
            charset gb2312;
            }
     
    从以上例子很明显看出,还是对root和alias的概念搞混了~
    1.      location ~ ^/awstats/ {
            root  /home/awstats/;
    访问:
    http://test.com/awstats/ 实际访问的是/home/awstats/awstats/
     
    2.      location ~ ^/awstats/ {
            alias  /home/
    访问:http://test.com/awstats/ 实际访问的是/home/
     
    3.      location ~ ^/awstats/ {                        #使用alias时目录名后面一定要加“/”
            alias  /home/awstats/;
    访问:http://test.com/awstats/ 实际访问的是/home/awstats/
     
    4.      location ~ ^/awstats/ {
            root  /home/;

    访问:http://test.com/awstats/ 实际访问的是/home/awstats/
    借用ayou老师的一句话:
    一般情况下,在location /中配置root,在location /other中配置alias是一个好习惯

  • 相关阅读:
    堆模板
    二叉树输出
    中序+层次遍历输出前序
    扩展二叉树 (根据特殊的前序遍历建树)
    Leecode no.124 二叉树中的最大路径和
    JVM类加载过程
    Leecode no.208 实现Tire(前缀树)
    Leecode no.300 最长递增子序列
    volatile关键字深入解析 JMM与内存屏障
    Leecode no.200 岛屿数量
  • 原文地址:https://www.cnblogs.com/liugx/p/7719953.html
Copyright © 2011-2022 走看看