搜索
简帛阁>技术文章>配置多个子域名映射到web项目的不同子目录

配置多个子域名映射到web项目的不同子目录

不同子域名映射到web项目不同子目录

标签:网络 域名 DNS

如果web服务器有太多项目,为了简化项目的文件路径,可以通过子域名绑定项目地址来实现。比如有一个web项目路径为:https;//www.dwedg.cn/webapp/collect,入口为:index.html,只需新增一个子域名:collect.dwedg.cn,将其绑定到根目录下的子目录collect(即:dwedg.cn/collect)

1.域名
2.dns
3.域名结构
4.域名命名规则
5.具体配置

一、域名

域名即一个IP地址的映射,可以定位到互联网中某一台计算机。域名与IP地址一一对应,域名比起IP地址更容易记忆。www.baidu.com肯定比202.108.22.5更容易让人记住吧👻👻

二、dns

1.dns(Domain Name System)域名系统,因特网使用的命名系统。一个翻译机器,把域名翻译成IP地址。
dns就跟常用的Git项目版本管理工具一样,是分布式系统,因特网上有许多域名服务器,大多数域名在本地就能完成解析。
2.解析过程应用程序(比如谷歌浏览器)解析www.baidu.com,(假设浏览器,本机,hosts文件,路由器均无百度IP地址的缓存前提下)浏览器调用解析程序,把www.baidu.com放到请求报文中,以udp用户数据报方式发送给本地域名服务器(本地域名服务器离用户很近,一般就几个路由器的距离)。本地域名服务器在查找域名后,把对应的IP地址方式在回答报文中返回。谷歌浏览器得到目的主机的名称即可进行通信。如果本地域名服务器不能查找到该IP地址。则本地服务器向其他服务器发出查询请求,重复该过程直到找到该域名对应的IP地址为止。
3.查询方法:
a.主机向本地域名服务器的查询一般是递归查询。用户–>本地域名服务器A–>根域名服务器B–>C–>D–>…。
b.本地域名服务器向根域名服务器的查询通常是采用迭代查询。每次查询,本地服务器会得知下一次查询的地址,重复此查询步骤。

三、域名结构


如上图所属,域名从左到右依次为顶级域名,二级域名,三级域名,以此类推。子域名层级一般技术上不受限制。(如果受限的话那一定是还需要加钱才能解决的啦~😛)
下图是某平台子域名层级的配置

四、域名命名规则

常见的三级域名是www,但这并不意味着所有域名前缀都必须是www.如果留意过得话,qq邮箱的网址(mail.qq.com)三级域名是mail.
www只是更通用一些,它通常绑定web服务器的根目录。域名的标号(也就是www和baidu,除”.“符号之外的部分)由英文字母和数字组成,每一个标号不超过63个字符(建议不超过12个字符)也不区分大小写,除”-“外不能使用其他标点符号。
完整域名总共不超过255个字符。

五、具体配置

新增一个新的域名,这个新的域名能被解析到期望的web服务器路径就ok了~

以collect.dwedg.cn解析到/dwedg.cn/webapp/collect/index.html为例

1、新增域名
登录云服务器,进入dns控制台添加子域名:collect.dwedg.cn

记录值是服务器外网IP地址,保证collect.dwedg.cn映射到服务器IP地址。

2、修改web服务器配置文件,绑定子目录

server
{<!-- -->
    listen 80;
    #监听子域名collect.dwedg.cn的80端口
    server_name collect.dwedg.cn;
    #collect.dwedg.cn默认打开当前目录下的index.html文件
    index index.html;
    ##collect.dwedg.cn绑定的文件目录是根目录下的collect路径
    root xxxx/dwedg.cn/collect;
    
    include enable-php-56.conf;
    include /www/server/panel/vhost/rewrite/dwedg.cn.conf;
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {<!-- -->
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{<!-- -->
        allow all;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {<!-- -->
        expires      30d;
        error_log off;
        access_log /dev/null; 
    }
    location ~ .*\.(js|css)?$
    {<!-- -->
        expires      12h;
        error_log off;
        access_log /dev/null; 
    }
    access_log /www/wwwlogs/dwedg.cn.log;
    error_log  /www/wwwlogs/dwedg.cn.error.log;
}

子域名collect.dwedg.cn绑定了根目录下的collect目录.
配置完成后即可访问:http://collect.dwedg.cn(或者http://collect.dwedg.cn/index.html)
注意:如果该子域名没有通过ssl证书认证,通过http访问,而不是https

不同域名映射web项目不同子目录标签:网络域名DNS如果web服务器有太多项目,为了简化项目文件路径,可以通过子域名绑定项目地址来实现。比如有一个web项目路径为:https;//wwwdwe
RewriteEngineon把yourdomaincom改为你要绑定域名RewriteCond%{HTTP_HOST}^(www)?prcercom$把subfolder改为要绑定目录Rewri
网站目录结构为:tree/home/wwwroot/exehacknet/home/wwwroot/exehacknet├──bbs│└──indexhtml└──www└──indexhtml2
一、ASP动态页面第一步:创建转向控制页面创建网站默认首页文件(通常为"indexasp"或"defaultasp")如下:代码如下:<%selectcaserequestservervar
Flask子域名一般用于数量比较少域名,一个模块对应一个子域名。先看下面一个例子:modulespy:fromflaskimportBlueprintpublicBlueprint('publi
场景描述:通过二级目录(虚拟目录,应用程序)方式访问同一ip+端口不同应用,例如location是用户使用页面,location/admin/是管理页面,location部署在192168110
将多个域名绑定一个空间,访问不同首页。这样设立更多子站点:)空间内默认首页(通常是indexasp或defaultasp)使用RequestServerVariables("HTTP_HOST
在前面一篇中说过,入了好几个坑后来使用了nginx+tomcat配置方式终于成功了因为头一次使用nginx,不知道具体怎么操作,于是我在操作时候,按照以下几个步骤执行:导航第一步tomcat启动
之前配置了好几天,就想通过tomcat直接配置找各种资料,都说先配置Connector,在配置Host我试了很多次,都不成功原因我也没有找到在哪里我配置参考如下网址:修改这两个地方,这种方式需要配置
配置serverxml此文件在conf文件夹下面<?xmlversion'10'encoding'utf8'?><!LicensedtotheApacheSoftwareFoun