Centos平台下用Apache和阿里云配置二级域名
 doctorrm      2019-01-16 21:42:38      67      0      

本篇文章只针对二级域名访问本机web二级目录,对于二级域名映射其它主机的web根目录只需要在阿里云控制台映射即可。

知识储备

首先要知道什么是二级域名,以www.harbournet.cn 为例子,cn是顶级域名,你购买域名的时候就确定了,只能有一个;harbournet叫一级域名,是一个网站的标识,也是确定的,只能有一个;www叫二级域名,可以有多个,比如blog、music、tutorial等等,我们要的就是设置有多个这样的名称,以标识不同的网站资源地址。二级域名让url的长度更简短,容易记,也让资源地址的职责更加明确。

当然,有了二级域名就会有三级域名、四级域名。。。方法都是类似的。但个人网站一般只要到二级域名就可以了。

而我们备案的时候还有个主域名主域名=一级域名+顶级域名,比如本博客的主域名就是harbournet.cn,博主就是用它来备案的。

注意:一个域名可以解析多个ip地址,一个ip也可以映射到多个域名。这个原则我们这里没用,但是我们在建站点的时候是很重要的,这里提一下。

1.修改云服务商的域名解析

以阿里云为例,到你的域名(以本站点harbournet.cn为例)的解析后台。点击“修改”将新的二级域名填写好。域名解析修改后,一般是实时生效的。

2.修改Apache配置文件

因为第一步只能将不同的二级域名解析到同一个ip地址,访问到的也是同一个根目录。但不同的二级域名对应的是不同的目录,因此我们用Apache配置一下。

Centos上Apache的配置文件httpd.conf一般存在于/etc/httpd/conf目录下,找到该文件后到最后面添加下面的代码:

#二级域名,自定义的
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/etc/httpd/conf/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1

接下来我们在同一层目录下新建vhost.map。这个文件就是二级域名的配置文件。

www.harbournet.cn /var/www/html
tools.harbournet.cn /var/www/html/tools
music.harbournet.cn /var/www/html/music
tutorial.harbournet.cn /var/www/html/tutorial

注意到格式为:域名+空格+二级域名对应在服务器上的路径。

修改后就可以了,不需要重启httpd服务。
接下来你访问tools.harbournet.cn就是访问/var/www/html/tools这个目录下的资源。其它类似。

至此,二级域名的配置工作就完成了。

备注

由于我的站点有一个全局根页面:www.harbournet.cn ,因此也可以通过本链接后带/来访问到二级域名的目录,但是这么做是不规范的,不推荐。而且进入后再跳转其它页面也还是二级域名的页面了。这里提一下。

另外,如果直接访问harbournet.cn,如果对应浏览器支持,是直接跳转到www.harbournet.cn 的。

去打赏

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

正在跳转到PayPal...

发表评论