相信很多站长和我一样使用的虚拟主机,然而虚拟主机有个缺点就是不能绑定多个域名到目录,不过很多 iis 的主机都开启了 Rewrite 重写规则,那么我们就可以利用 httpd.ini 文件实现目录绑定以及伪静态。
这里只是简约的介绍一下 httpd.ini 文件实现虚拟主机域名绑定到目录,并不能完全讲解 httpd.ini 文件的语法规则。 前提是你使用的 iis 主机必须要安装 Rewrite 组件,具体详情您可以咨询您的主机服务商。 好了说了这么多步入正题。
检查您的网站根目录是否存在 httpd.ini 文件,如果有可以跳过这一步,如果不存在,那么您可以新建一个 httpd.ini 文件,然后上传到你的网站根目录。
比如说你想要访问 html5.wenjiangs.com 的时候,实际上访问的地址是根目录下的 html5 文件,那么你可以在 httpd.ini 中加入以下代码。
- [ISAPI_Rewrite]
- #规则只对 html5.wenjiangs.com 生效(正则表达式中 \. 表示 . 本身)
- RewriteCond Host: html5\.wenjiangs\.com
- # 表示将所有网页 Rewrite 到子目录 html5 文件夹中,[I] 表示忽略大小写
- RewriteRule ^(.*)$ /html5/$1 [I]
将上述文件保存,命名为 httpd.ini,有没有编码问题小编未测试,不过最好保存 utf-8 格式的文档。
将修改后的 httpd.ini 上传到网站根下覆盖原文件,这样就可以将绑定在网站上的任何一个域名采用任何特定的 Rewirte 规则,实现类似绑定子目录的功能。理论上说,按照上述操作,我们的虚拟主机空间能绑定多少个域名,就可以建立多少个内容不同的网站了。
Rewrite 是一个功能强大的组件开发平台,要真正的用好它,可能要花费相当长的时间来学习,对一般朋友不必要,而仅仅是需要使用伪静态功能,那么可以不必学习太多相关内容,直接复制论坛开发者提供的配置文件即可,但要注意配置文件必须命名为 httpd.ini,这个文件必须放在网站的根目录下。
httpd.ini 修改或者上传后一般会立即生效,如果长时间不能生效,请登录主机控制面板将网站停止然后再启动。