酷米网(kmw.com),专注高端域名快速交易!

  1. 当前位置: 
  2. 首页 > 
  3. 域名资讯  > 如何在IIS中用ISAPIRewriteLite版配置虚拟主机支持二级...
服务器时间:2018-06-21 20:40:29 (CST +08:00)

如何在IIS中用ISAPIRewriteLite版配置虚拟主机支持二级域名

2017-12-17 17:37:56     浏览量: 66

如何在IIS 中用ISAPI_Rewrite Lite版配置虚拟主机支持二级域名

为二级域名的问题搞了2天,狂郁闷。。。。先是用程序,感觉太累赘,简单的又不好使(用iframe 嵌入,比较糟糕,不能像真正的域名一样访问),后来发觉URL Rewrite是最简单的解决办法……搜IIS

用的Rewrite ,下载、试用……,查资料、看说明——唉,E 文不好,走了不少弯路!莫笑(地处偏僻,身边难见高人)

如果是用Apache 就简单多了,默认的Rewrite 模块功能强大,可以轻松提取主机头信息。

具体内容:

0、首先需要一个有效的顶级域名,并且设置该域名下二级域名的泛解析到虚拟主机所在服务器IP (即如:*.eboat.cn => 123.234.55.101)。

1、在http://www.helicontech.com/download.htm下载ISAPI_Rewrite Lite Free版本。版本不用太高,如果愿意付点$,用Full 版当然也不错哦。安装,随便装在哪个位置。

注意:Lite 版本不支持虚拟主机层次的配置,但仅仅是配置(就是dll 只能读取自身安装目录下的全局配置httpd.ini )。如果是仅用于某虚拟主机的任意二级域名解析,可以将ISAPI_Rewrite.dll仅放置

在该虚拟主机的配置中(即不在IIS 的“网站>ISAPI筛选器”中插入,而是添加在虚拟主机网站的ISAPI 筛选器中),这样就不会影响服务器对其它网站的处理。

2、将需要二级域名的虚拟主机的主机头置空,使得所有未在服务器上单独配置的虚拟主机域名都被定向到此处。注意!不是在服务器上单独新建一个无主机头的网站,必须在需要实现二级域名的当前网 站上进行URL 的Rewrite 配置。这点很重要。

3、将ISAPI_Rewrite安装时自动配置在IIS 中的全局设定取消(IIS>网站>ISAPI筛选器,删除

ISAPI_Rewrite),在需要二级域名解析的虚拟主机(网站)中配置ISAPI_Rewrite.dll(属性>ISAPI筛选器>

添加... ,名称可以随便写,如Url-Rewrite )。

4、修改ISAPI_Rewrite安装目录下的配置文件httpd.ini 。举例如下:

代码

[ISAPI_Rewrite]

RepeatLimit 1

# Defend your computer from some worm attacks

RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . [F,I,O]

# 排除当前虚拟主机需要正常访问的域名(web.lxun.cn www.lxun.cn)

# RewriteCond Host: (?:web|www).lxun.cn

# 多数情况下是一个,即当前提供二级域名服务的系统(如建站系统)

,

RewriteCond Host: web.lxun.cn

RewriteRule (.*) $1 [L]

# 解决不规范目录(末尾无/)的问题

# 但前提是目录名不含„.‟而文件名必须包含,否则无法区分两者

# 如果保证URL 中的目录名称规范,则无需此规则

RewriteRule ^/([^.] [^/]$) /$1/ [L,R]

# 提取任意的二级域名名称(即第一个词汇)

# 用[a-zA-Z0-9_-]限制名称字符,重写Url 到Home/子目录下

# 如 test.lxun.cn => web.lxun.cn/Home/test

RewriteCond Host: ([a-zA-Z0-9_-] ).lxun.cn

RewriteRule ^/(.*) /Home/$1/$2 [I,L]

注意!上面的规则不能写成

RewriteRule ^/(.*) http://web.lxun.cn/Home/$1/$2 [I,L]

这也是必须在系统所在网站上解析的原因。如果最后是[I,R],访问是可以的,但是浏览器的地址栏会显示实际的Url ,达不到透明二级域名的效果。

总结:

之前查了Google ,没找到简单实现的例子。其实这主要是规则上的问题,即使是将ISAPI_Rewrite放在IIS 的“网站”全局配置中也是可以的,因为规则不会匹配其它的网站(顶级域名限制),Rewrite 不

会起作用。只是放在全局配置中,访问其它网站也要经过这个.dll 过滤器,或多或少的有些不合理。

成功配置和运行,网上说要用Full 的破解版才行(1.x 的版本,试过可行)。所以这里特地将Lite 免费版的用法贴出来。

(注意:最后可能需要重启IIS 服务器,检查一下ISAPI 过滤器中Rewrite 是否已经载入——绿色的向上箭头。另外,如果是NTFS 文件系统,ISAPI_Rewrite的安装目录需要添加网站用户或everyone 的写权 限!)

本内容由www.mmqp.net 分享!