高分:ISAPI Rewrite 动态二级域名的正则表达式

cwwhy 2007-11-20 01:53:58
环境:windwos 2003+IIS6
软件:ISAPI Rewrite Full 3

需要的效果:
输入: aaa.test.com/b.html
实际访问的是 www.test.com/aaa/b.html

RewriteCond Host: (?!www\.)(.*)\.test\.com
RewriteRule ^(http://)(.*)(\.test\.com)/?(.*) http://www.test.com/aaa/$2/$4

这个正则表达式,我拿ISAPI Rewrite提供的正则测试工具测试没有问题 可是实际就是不好用。


另外ISAPI Rewrite软件是没有问题的,因为一些简单的其他测试没有问题。
怀疑是正则表达式的问题,有没有高手做过类似的,帮帮忙给我看看,谢谢先!
...全文
1348 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdxfy 2010-05-30
  • 打赏
  • 举报
回复
RewriteCond Host: (?!www\.)(.*)\.test\.com
#RewriteRule /$ /$1/b.html [I,L]
这样就可以了
pdsnet 2010-03-04
  • 打赏
  • 举报
回复
挖坟。
qq22345111 2007-12-25
  • 打赏
  • 举报
回复
u/
[p
weir55 2007-12-25
  • 打赏
  • 举报
回复
学习哈
onesee 2007-12-24
  • 打赏
  • 举报
回复
在规则最后面加上:


#RewriteCond Host: www\.test\.com

# 用以恢复重定向
fcuandy 2007-11-21
  • 打赏
  • 举报
回复
我用的我们团队自己开发的rewrite工具.
我的资源里有,不过要1分.你也可以直接从团队论坛上下载.很好用.
http://bbs.devms.com/thread.20275.html
cwwhy 2007-11-21
  • 打赏
  • 举报
回复
看样子用IsapiRewrite的不少,真正懂得配置的人比较少啊,不知道网上的配置文件有没有人能看懂啊。
0xff 2007-11-20
  • 打赏
  • 举报
回复
有几个站用,IsapiRewrite4
不过没用IsapiRewrite测(网站、DNS都不能随便动..),也只是用正则工具。

不过以前在配置IsapiRewrite时,出错都是看日志文件,然后改过来的...
cwwhy 2007-11-20
  • 打赏
  • 举报
回复
?楼上的你能得到http://www.test.com/aaa/aaa/b.html?
我的确实是多写了个aaa
RewriteRule ^(http://)(.*)(\.test\.com)/?(.*) http://www.test.com/aaa/$2/$4


应该是 ^(http://)(.*)(\.test\.com)/?(.*) http://www.test.com/$2/$4

我的配置文件中是这么写的,写帖子的时候多写了个aaa

你也是用的isapi_rewrite ?
0xff 2007-11-20
  • 打赏
  • 举报
回复
令我惊讶的是你的结果:

需要的效果:
输入: aaa.test.com/b.html
实际访问的是 www.test.com/aaa/b.html

RewriteCond Host: (?!www\.)(.*)\.test\.com
RewriteRule ^(http://)(.*)(\.test\.com)/?(.*) http://www.test.com/aaa/$2/$4


但实际替换后是:http://www.test.com/aaa/aaa/b.html

是帖子写错了?还是犯了低级错误??
0xff 2007-11-20
  • 打赏
  • 举报
回复
...
既然你认为解析正确,ISAPI Rewrite已经处理了URL,那么把ISAPI Rewrite的日志打开不就能看到重写的结果了么~

(有日志设置的么?像下面的.)
# RewriteLog D:\iirfLog.out
# RewriteLogLevel 1

看看错在哪,再改……
cwwhy 2007-11-20
  • 打赏
  • 举报
回复
1.域名范解析没有问题
我现在
输入: aaa.test.com
实际访问的是 www.test.com/index.aspx?id=aaa
已经实现,没有问题。
参数:
RewriteCond Host: (?!www\.)(.*)\.test\.com
RewriteRule (.*) /test.aspx?id=$1


我现在要实现
输入: aaa.test.com/b.html
实际访问的是 www.test.com/aaa/b.html

正则没有什么问题,关键不知道这里的正则是怎么处理url的,现在还没有弄明白
symbol441 2007-11-20
  • 打赏
  • 举报
回复

string r=Regex.Replace("aaa.test.com/b.html", "(\\w+)(\\.\\w+\\.\\w+\\/)(\\w+\\.\\w+)", "www$2$1/$3");
MessageBox.Show(r);


fcuandy 2007-11-20
  • 打赏
  • 举报
回复
很简单的测试方法.
你的主域是 xxxx.com 你建了 www主机,那么有了 www.xxxx.com
你没有建 yyy主机,即没有yyy.xxxx.com域名
那么在浏览器输入 yyy.xxxx.com 看结果是什么,如果是提示页面没找到404错误,说明支持泛解析.如果提示的是dns出错,或域名找不到等等,那就是不支持.
fcuandy 2007-11-20
  • 打赏
  • 举报
回复
我觉得正则问题不大.
^(http://)\.([^\.]*)\.(test\.com)/?\.([^\.]*)
主要原因是看你的域名是否支持泛解析.
0xff 2007-11-20
  • 打赏
  • 举报
回复
...
主要问题不在 ISAPI Rewrite ,而是你是否做了DNS泛域名解释~
你的二级域名能否正确的指向 ISAPI Rewrite 所在站点...
JGood 2007-11-20
  • 打赏
  • 举报
回复
应该不是正则表达式的问题

楼主的域名支不支持泛域名解析?
要实现动态二级域名,首选要支持泛域名解析
shawn_yang 2007-11-20
  • 打赏
  • 举报
回复
(http://)(\S+\.)(\S+)
CeShenBeiWang 2007-11-20
  • 打赏
  • 举报
回复
再顶!
CeShenBeiWang 2007-11-20
  • 打赏
  • 举报
回复
UP
ISAPI Rewrite 2.9 Full(注册码非破解版)ISAPI_Rewrite 2.9 Full版(IIS重写URL插件) ISAPI_Rewrite是一个功能强大的网址操纵发动机的基础上正则表达式。它的行为是像Apache的mod_Rewrite ,但专为微软的Internet信息服务( IIS ) 。 ISAPI_Rewrite是一个ISAPI筛选器的书面纯的C / C + +所以速度极快。 ISAPI_Rewrite让您的自由,超出标准网址计划和发展自己的计划。   你能做什么与ISAPI_Rewrite :   优化您的动态内容类似的论坛或e -商店被编入索引的最受欢迎的搜索引擎。   热点座连接您的数据文件的其他网站。   建立一个定制的授权计划和管理进入静态文件使用自定义的脚本和数据库。   代理的内容纳入一个网站目录另一个网站。   让您的内联网服务器可在互联网上使用只有一个互联网服务器与一个非常灵活的权限和安全的选择。   创建动态主机头的站点使用单一的物理站点。   创建虚拟目录结构的物理网站隐藏文件和扩展。这也有助于从一个技术到另一个。   返回浏览器的依赖甚至内容的静态档案。   和其他许多问题是可以解决的力量,正则表达式引擎内置的ISAPI_Rewrite 。   ISAPI_Rewrite有两个不同版本:   ISAPI_Rewrite全   这是完整版的ISAPI_Rewrite 。它具有以下特点:   正则表达式的网址重写引擎。   支持全球每台服务器配置文件   支持每虚拟站点配置文件   在内存配置缓存   自动删除很少使用的配置,从记忆体   监测的配置文件和数据库的变化和动态配置加载   ISAPI_Rewrite全是散发尝试之前,你买。您可以下载30天试用版是免费的。   ISAPI_Rewrite建兴   这是简化版本的ISAPI_Rewrite 。它不支持每虚拟站点配置, proxiing ,数据库监测和自动清除缓存,但其他所有功能都支持。 ISAPI_Rewrite Lite是完全免费!这可能是一个理想的解决方案,服务器托管的唯一站点,开发或测试目的。   推荐文章:   网址重写使用ISAPI_Rewrite   本文是汇编形式第3章“挑衅东南友好的网址?书籍专业搜索引擎优化与ASP.NET :一个开发人员指南,以搜索引擎优化的克里斯蒂安Darie和Jaimie Sirovich 。   本文包括最流行的技术,如何运用静态的前瞻性和关键字达到网址在动态网站一步一步
ISAPI_Rewrite是一个功能强大的网址操纵发动机的基础上正则表达式。它的行为是像Apache的mod_Rewrite ,但专为微软的Internet信息服务( IIS ) 。 ISAPI_Rewrite是一个ISAPI筛选器的书面纯的C / C + +所以速度极快。 ISAPI_Rewrite让您的自由,超出标准网址计划和发展自己的计划。   你能做什么与ISAPI_Rewrite :   优化您的动态内容类似的论坛或e -商店被编入索引的最受欢迎的搜索引擎。   热点座连接您的数据文件的其他网站。   建立一个定制的授权计划和管理进入静态文件使用自定义的脚本和数据库。   代理的内容纳入一个网站目录另一个网站。   让您的内联网服务器可在互联网上使用只有一个互联网服务器与一个非常灵活的权限和安全的选择。   创建动态主机头的站点使用单一的物理站点。   创建虚拟目录结构的物理网站隐藏文件和扩展。这也有助于从一个技术到另一个。   返回浏览器的依赖甚至内容的静态档案。   和其他许多问题是可以解决的力量,正则表达式引擎内置的ISAPI_Rewrite 。   ISAPI_Rewrite有两个不同版本:   ISAPI_Rewrite全   这是完整版的ISAPI_Rewrite 。它具有以下特点:   正则表达式的网址重写引擎。   支持全球每台服务器配置文件   支持每虚拟站点配置文件   在内存配置缓存   自动删除很少使用的配置,从记忆体   监测的配置文件和数据库的变化和动态配置加载   ISAPI_Rewrite全是散发尝试之前,你买。您可以下载30天试用版是免费的。   ISAPI_Rewrite建兴   这是简化版本的ISAPI_Rewrite 。它不支持每虚拟站点配置, proxiing ,数据库监测和自动清除缓存,但其他所有功能都支持。 ISAPI_Rewrite Lite是完全免费!这可能是一个理想的解决方案,服务器托管的唯一站点,开发或测试目的。   推荐文章:   网址重写使用ISAPI_Rewrite   本文是汇编形式第3章“挑衅东南友好的网址?书籍专业搜索引擎优化与ASP.NET :一个开发人员指南,以搜索引擎优化的克里斯蒂安Darie和Jaimie Sirovich 。   本文包括最流行的技术,如何运用静态的前瞻性和关键字达到网址在动态网站一步一步。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧