万网虚拟主机免费版,二级域名重写至二级目录

最近万网做活动,虚拟主机免费两年,做个小站够了。正好阿里云服务器半年免费期快到了,就申请了一个将该站点部署其上。
通过实名认证才可申请,好在使用阿里云时已经通过认证,直接开通。域名需要备案,站点才可以正常访问。这也不是问题,该域名已经备案。
需要说一下的是,万网和阿里云的备案系统已经打通,在其中任意一方已经备过案,另外一方无需再次备案。

免费的东西总有不少限制,比如只能支持一个站点。于是准备通过Apache的mod_rewrite模块,将二级域名重写至二级目录。
本来以为挺简单的一件事,却折腾了挺久。一是对mod_rewrite语法不熟,使用生疏。二是苦于看不到日志,没办法调试。三是网络上的文章各种抄袭,真怀疑他们有没有自己检验过。
主要卡在循环重写上,不知为何即便加上了[L]参数,依然会多次重写,直至达到最大重写次数,抛出错误页。
最后通过对请求路径的过滤,才终于成功:

近期(2018-10)阿里云似乎对虚拟主机进行了调整,造成之前的配置失效,需要重新调整如下:

下方配置已经失效:

以下是mod_rewrite的语法:
mod_rewrite – Apache HTTP Server Version 2.4
mod_rewrite - Apache 2.2 中文版参考手册

另附上一个调试mod_rewrite的小技巧:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注