万网二级域名访问nginx子目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了万网二级域名访问nginx子目录相关的知识,希望对你有一定的参考价值。

     最近重新安装了小站(1wei.cc)的wordpress,打算使用二级域名blog.1wei.cc访问位于根目录下的wordpress(/wordpress,对应1wei.cc/wordpress)。于是开始各种搜索了,各种问答、文章、博客反复研究实验,好不折腾,谁叫咱们半路出家,好多不懂。不得不说:天下文章一大抄,大多数人不会抄,抄了也不知道注明转载,好歹写错了可以说,这不是老子写的。找到好多人写(抄)的一模一样文章解决不了问题,不过我等开始看的时候还是不明所以得称赞高级。弄完了发现也挺简单的,在此记录。

 

    首先是在万网(也就是阿里云啦,我的服务商是万网的,以此为例)域名控制台里添加二级域名解析,如图第一条便是我添加二级域名(blog.1wei.cc)的解析:

技术分享

  • 记录类型-显性url
  • 主机记录-二级域名xx.yy.zz中的xx(我的就是blog.1wei.cc的blog)
  • 解析线路-默认(不用管它)
  • 记录值-要设置的二级域名访问时对应的路径(我这里的blog.1wei.cc要访问的是根目录下的wordpress,不设置二级域名时候用1wei.cc/wordpress访问,所以记录值就是1wei.cc/wordpress啦)

保存,很快就会生效的。

   

    然后登录主机,在nginx的配置文件前添加类似如下内容:

server {
     listen 80;
     server_name blog.1wei.cc; #添加了一个二级域名
     rewrite ^ http://www.1wei.cc/blog; #访问blog.1wei.cc等于访问1wei.cc/blog
}

我贴一下我附上注释的简明(陋)的nginx配置文件,里面顺便用笨拙的方法实现不允许ip地址访问(return个404,后来改成跳转到blog路径下):

#设定ip地址直接访问会跳转到指定路径,避免恶意解析。
server {
     listen 80;
     server_name xx.xx.xx;        #主机的ip地址
     rewrite ^ http://www.1wei.cc/blog;        #用ip地址直接访问会跳转到此网址哦
     #return 404;            #也可以选择返回404什么的
}

#设定二级域名blog.1wei.cc访问的指定目录
server {
     listen 80;
     server_name blog.1wei.cc;       #添加了一个二级域名
     rewrite ^ http://www.1wei.cc/blog;      #访问blog.1wei.cc等于访问1wei.cc/blog
}

server
       {
        listen 80;#监听端口
        server_name www.1wei.cc 1wei.cc;#解析的域名
        root /srv/web/;#nginx根目录
        location / {
            index  index.html index.htm index.php;#nginx根目录下没有主页文件默认会403哦
        }

         location /mariadb {#mariadb的目录,我已经移除啦啦啦,访问不到的
         index index.php;
         }


        error_page  404              /404.html;#404页面
        error_page  500 502 503 504  /50x.html;#50X页面

        location ~ \\.php$ {#以下是php配置
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}

保存之,再重启nginx服务,试试用二级域名访问。浏览器输入  blog.1wei.cc成功进入到wordpress界面。不过我看了一眼地址栏,显示的是1wei.cc/blog,如何让它依然显示blog.1wei.cc也就是二级域名呢,可以在万网解析里将记录类型改为隐形url。

显性url和隐性url都有说明。显性url就是显示该域名访问的url的实际路径,而隐性url则显示该域名,不过隐性url不可以泛解析的。如图设置:技术分享

我把解析改为了隐性url,再测试,浏览器地址栏显示的就是此域名地址了。

就这样。

 

以上是关于万网二级域名访问nginx子目录的主要内容,如果未能解决你的问题,请参考以下文章

万网云解析设置二级域名解析到同IP不同端口

万网二级域名设置的问题

自己购买的域名如何设置子域名,如何设置访问多个项目,万网

万网域名解析问题!

万网域名解析问题!

[运维-服务器 – 2A] – nginx下绑定域名