万网二级域名访问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子目录的主要内容,如果未能解决你的问题,请参考以下文章