利用 重现功能绑定多个子目录(子域名的绑定)httpd.ini

通过编写一定的代码,还可以使用Rewite组件发挥封掉IP对本机的访问,甚至可以转移这个特定的IP跳转到其它网站上,从而减少外界对服务器的攻击或者消耗巨大资源

能绑定多少个域名,就能建立多少个独立的网站

我们知道,大多数虚拟主机空间是不支持子目录绑定的,以此来{-屏-|-蔽-}一台服务器上运行的网站数量,降低服务器资源消耗

Rewrite组件在WordPress用户之间被称为支持伪静态、静态重写,一般来说我们只是用来设置固定链接和伪静态链接URL

而如果你的虚拟主机支持Rewrite组件的话,我们可以将绑定的任何域名指向任意子目录,从而在一个空间支持更多网站

就是说你的虚拟主机能绑定多少个域名,就能建立多少个独立的网站在一个虚拟主机空间上,确实非常强大的功能

2、如何通过设置Rewirte组件让指定IP重新定向访问其它网站?

如果我们要把8.8.8.8这个IP,直接重定向到微知博客的首页,在网站根目录的.htaccess文件里添加以下代码:

Code:
RewriteCond % 8.8.8.8 [NC]RewriteRule ^(.*)$ http://www.junxunwan.com/$1 [R=301] 将 8.8.8.8 这个IP替换成您要{-屏-|-蔽-}的IP即可
如果要实现多个 IP ,可以这样写:
Code:
RewriteCond % 8.8.8.8 [OR]RewriteCond % 9.9.9.9 [NC]RewriteRule ^(.*)$ http://www.junxunwang.com/$1 [R=301]

3、使用Rewrite组件各种功能的前提准备

根据网上资料说,我们通过在IIS中安装一个名为ISAPI_Rewrite 的ISAPI筛选器来实现Rewrite 功能

这个应该就是说的Rewrite功能组件,如果我们的虚拟主机上已经安装了,实现支持这个Rewrite功能的话,就不用看了

我们需要做的就是修改配置文件httpd.ini,有关该组件的详细使用方法,你可以登录Rewrite组件官方网站来学习深度技巧

4、使用Rewrite组件实现重定向的具体方法步骤

假设我们要实现这样的Rewrite功能:当用户访问/about.html 的时候实际访问的是/index.html

你的空间里可以并不需要存在about.htm,设置之后让访问about.htm的朋友全部访问的是index.html,也就是重定向了

设置的具体方法步骤是:

第一、创建一个文本文件(Windows自带的记事本生成的文件,后缀为.txt),内容为

[ISAPI_Rewrite]
RewriteRule /about\.htm /index.html

这里,RewriteRule这一行即为规则行,这一行由三部分组成,三部分由空格隔开,第一部分即RewriteRule 这几个字

第二部分为用户访问的地址(使用正则表达式),第三部分为实际存在于服务器上的文件路径

第二、将上述文件保存,命名为httpd.ini

如果看不到文件后缀,D盘—工具—文件夹选项—查看—去掉”隐藏已知文件扩展名”前面的勾—确定—搞定

第三、将这个文件上传到您的网站根目录中,对于我们的虚拟主机,即上传至 /web 文件夹中  

每个虚拟主机空间不一样,请根据自身情况调整,现在访问about.htm 的时候,看到的就是index.html 的内容

5、使用Rewrite组件实现一个空间建多个网站的具体方法步骤

这是Rewrite功能的巧用,因为我们既然可以将/about.htm重写为/index.html,我们也就可以把 /about.htm 重写为/about/

有两个域名www.junxunwang.com 和 www.junxunwang.net ,我们让访问 www.junxunwang.com 时看到的是网站根下的内容

而访问 www.junxunwang.net 时看到的是 /jiaoguan/ 文件夹中的内容,使用Rewrite就很容易实现这样的功能

那么设置步骤如下:

第一、将网站{-屏-|-蔽-}域名www.junxunwang.com 和wwwjunxunwang.net,这时候两个域名访问的都是网站根目录下文件

第二、修改前面讲过的httpd.ini文件,在前面已经添加的代码后面,增加以下内容:

RewriteCond Host: www\.junxunwang\.net
# 表示下一行规则只对 www.junxunwang.net 生效(正则表达式中 \. 表示 . 本身)
RewriteRule ^(.*)$ /jiaoguan/$1 [I]
# 表示将所有网页 Rewrite 到 jiaoguan 文件夹中,[I]表示忽略大小写

确保上面代码在 [ISAPI_Rewrite] 行下面,如果网站不存在httpd.ini 文件,请将上述内容前面加上[ISAPI_Rewrite]

第三、将修改后的 httpd.ini上传到网站根下覆盖原文件

这样就可以将绑定在网站上的任何一个域名采用任何特定的Rewirte规则,实现类似绑定子目录的功能

理论上说,按照上述操作,我们的虚拟主机空间能绑定多少个域名,就可以建立多少个内容不同的网站了

6、配置文件httpd.ini的代码编写说明

Rewrite是一个功能强大的组件开发平台,要真正的用好它,可能要花费相当长的时间来学习,对一般朋友不必要

如果使用像Discuz! 论坛等支持伪静态的系统,而仅仅是需要使用伪静态功能,那么可以不必学习太多相关内容

直接复制论坛开发者提供的配置文件即可,但要注意配置文件必须命名为httpd.ini,这个文件必须放在网站的根目录下

httpd.ini 修改或者上传后一般会立即生效,如果长时间不能生效,请登录主机控制面板将网站停止然后再启动

7、借助Rewrite组件实现一个空间建多个网站的功能声明

以上所说的配置功能和方法,经过5+7验证,确实可行有效,请大家按照上述方法进行操作即可

5+7技术,有相关技术性问题和想进阶学习代码的朋友自己搜索一下,以上内容微知只是整理和测试,谢谢支持

本文章由 萧过无痕 首发 萧过无痕的栖息地,欢迎转载,转载时敬请保留本版权信息,谢谢!

标签: 域名 Windows 子目录 iis ip rewrite httpd.ini 绑定多域名 绑定 禁止Ip ISAPI

引用地址:

评论

  1. 2010-03-11 20:42
    有点头晕
    博主回复:恭喜你成为我博客第100个评论的发布者!

发表评论