利用伪静态化Rewrite规则httpd.ini文件实现域名绑定子目录功能

将 www.abc.com 和 abc.com 绑定到abc目录上

[ISAPI_Rewrite]
RewriteCond Host: www\.abc\.com
RewriteRule ^(.*)$ /abc/$1 [I]
RewriteCond Host: abc\.com
RewriteRule ^(.*)$ /abc/$1 [I]

 

xxx.abc.com 绑定xxx目录上,在httpd.ini里添加规则代码

RewriteCond Host: xxx\.abc\.com
RewriteRule (.*) /xxx\/$1 [I,L]

 正则表达式中 \. 表示 . 本身,[I]表示忽略大小写。

 

常见ISAPI_Rewrite规则写法

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

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

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

RewriteCond Host: web\.eboat\.cn   

RewriteRule (.*) $1 [L]   

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

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

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

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

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

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

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

RewriteCond Host: ([a-zA-Z0-9_-]+)\.eboat\.cn   

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

[ISAPI_Rewrite]   

RepeatLimit 1   

# Defend your computer from some worm attacks   

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

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

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

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

RewriteCond Host: web\.eboat\.cn   

RewriteRule (.*) $1 [L]   

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

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

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

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

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

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

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

RewriteCond Host: ([a-zA-Z0-9_-]+)\.eboat\.cn   

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

 

你可能感兴趣的:(目录,域名)