累死,真是折腾的够烦的。
上次制作主页之后一直在尝试将主页设置为域名站点的默认页面,也就是输入域名,直接进入自己制作的主页,再通过主页提供分流,让浏览者去到其他页面。
主页除了可以起到很好的引导浏览者的作用外,也可以作为结构化页面的一个起点,这样就可以将以往或者以后我制作的其他页面还有我的其他主页都和这里联系起来。同时,主页还可以起到概括性的介绍主页所有者的情况,如同博客置顶一样。本次更新与网站的结构,也是旨在之后加入不同的页面,并从静态页面走向交互性页面的尝试。
那么接下来,我们来探究一下如何实现域名直接链接自制主页的。
首先我们需要知道,域名被解析为网站服务器的ip之后,访问者的浏览器就向网站服务器请求了数据下载。此时,服务器会自动抽取根目录下的默认首页文件。所谓默认首页就是我们常见的这些。
这些页面的默认设置或者优先级设置是可以在网站服务器提供商那里设置,如果无法设置,就只能通过修改你的主页文件的文件名来使其优先被服务器选择。所以如果只是简单的静态网页,就可以这样完成主页的默认设置。但如果是动态网页,就不能随意修改相关的文件名称,因为这很容易导致页面无法找到、加载错误等种种问题。
那么现在我们要处理的是如何在你已经安装了博客程序之后去修改默认页面呢?
在安装了博客程序之后,即使在服务器提供商那里修改了默认首页为自己制作的页面也有可能不成功,具体原因我没有查清楚,不过猜测可能是数据库的原因,博客程序在网站数据库中写入了关于域名与页面设置的一些相关信息。这种时候就很尴尬了。不过好在有其他方法解决。
要解决一个域名空间下多个子站点问题,用二级域名与子目录绑定。
二级域名就是什么呢?
百度会告诉你一堆概念,但你只要清楚是你主域名的分支就行了。形式就如同这样
主域名:
misaka10013.com
二级域名:
www.misaka10013.com
blog.misaka10013.com
bbs.misaka10013.com
这些。二级域名是可以在服务器提供商那里添加解析的,可以以类似形式的随便添加abc.主域名.com等。。
而子目录绑定则相当于将子目录绑定为二级域名的根目录一样。
这就可以办到在一个空间下,通过建立多个目录,关联不同类型的页面,甚至开几个不同的博客。
同样,二级域名和子目录绑定是需要服务器提供商支持的。这里提醒大家如果在选在网站服务器的时候尽量要选在稳定、可靠,支持高的服务器。我以前选的一个服务器连新建文件夹都不允许,更别说绑定子目录了。
因为我用的是阿里云的共享虚拟主机,所以阿里只给我提供了解析二级域名而没有提供绑定子目录的功能,不过程序上的问题没有不能解决的方案,只要你愿意google找找。
在服务器提供商不提供子目录绑定的时候,有种方法可以解决这个问题。就是通过建立.htaccess文件。
新建文本文件,复制这个内容。
1 | RewriteEngine On |
注意是另存为,不输入名字,只带后缀。不能用保存,因为保存之后,你无法将文件的名字设置为空。
然后ftp到你的网站空间根目录。
之后再将博客安装到子目录中。
这时候,访问域名,应该看到的就是自己制作的主页了,而访问二级域名,就能访问到子目录中的博客程序。
但是,这种方法并不太适用于已经安装了博客程序的人,因为已经安装的博客程序不可能直接剪切复制到子目录就能运行,如果你这样做,十之八九就只能看见个“页面无法找到”,就算访问到了页面,也会发现各种css样式丢失,交互程序失效。这是因为如同博客程序这些动态页面是需要和数据库相关联运行的,安装的时候设置在数据库当中的各种系统变量没有改变就改变了动态页面的相对物理位置,最后动态页面也就无法链接其他css文件和页面。
所以在执行以上操作前,请先备份文件!备份文件!备份文件!否则将会损失甚大。
对于已经安装程序的人,可以先尝试备份后,将博客文章和数据等分离保存到本地,然后再重新在子目录安装程序,再还原数据。
对于了解使用的博客程序的同学,可以去查找该博客程序的教材,修改程序的主页设置的变量试试。