环境: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软件是没有问题的,因为一些简单的其他测试没有问题。
怀疑是正则表达式的问题,有没有高手做过类似的,帮帮忙给我看看,谢谢先!
软件: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软件是没有问题的,因为一些简单的其他测试没有问题。
怀疑是正则表达式的问题,有没有高手做过类似的,帮帮忙给我看看,谢谢先!
解决方案 »
- Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage.dll
- 请教一个搜索的问题
- IE7中点击模式窗口中的按扭又弹出新窗口,IE6中没事,请问怎么解决
- |zyciis| 一个比较变态的问题 ASP.NET有没有办法根据URL去取得这个URL所显示的网页内容的图片 像Baidu快照
- 控件事件的简单问题
- 100分求一个关于移动控件开发的问题!请高手帮忙,立刻给分!
- 为一个简单的问题郁闷了两天了,各位大侠救救我了。提示错误是——未将对象引用设置到对象的实例??
- str.GetEnumerator()的疑惑?
- 用户控件问题
- 有asp.net for c#的书推荐吗?
- 请问有没有微软官方的语言编码规范和代码规范检查器?
- 请教AjaxPro.net高手,怎么获取cs代码中的变量值。
主要问题不在 ISAPI Rewrite ,而是你是否做了DNS泛域名解释~
你的二级域名能否正确的指向 ISAPI Rewrite 所在站点...
^(http://)\.([^\.]*)\.(test\.com)/?\.([^\.]*)
主要原因是看你的域名是否支持泛解析.
你的主域是 xxxx.com 你建了 www主机,那么有了 www.xxxx.com
你没有建 yyy主机,即没有yyy.xxxx.com域名
那么在浏览器输入 yyy.xxxx.com 看结果是什么,如果是提示页面没找到404错误,说明支持泛解析.如果提示的是dns出错,或域名找不到等等,那就是不支持.
string r=Regex.Replace("aaa.test.com/b.html", "(\\w+)(\\.\\w+\\.\\w+\\/)(\\w+\\.\\w+)", "www$2$1/$3");
MessageBox.Show(r);
我现在
输入: 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的,现在还没有弄明白
既然你认为解析正确,ISAPI Rewrite已经处理了URL,那么把ISAPI Rewrite的日志打开不就能看到重写的结果了么~(有日志设置的么?像下面的.)
# RewriteLog D:\iirfLog.out
# RewriteLogLevel 1看看错在哪,再改……
输入: 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是帖子写错了?还是犯了低级错误??
我的确实是多写了个aaa
RewriteRule ^(http://)(.*)(\.test\.com)/?(.*) http://www.test.com/aaa/$2/$4
应该是 ^(http://)(.*)(\.test\.com)/?(.*) http://www.test.com/$2/$4 我的配置文件中是这么写的,写帖子的时候多写了个aaa你也是用的isapi_rewrite ?
不过没用IsapiRewrite测(网站、DNS都不能随便动..),也只是用正则工具。不过以前在配置IsapiRewrite时,出错都是看日志文件,然后改过来的...
我的资源里有,不过要1分.你也可以直接从团队论坛上下载.很好用.
http://bbs.devms.com/thread.20275.html
#RewriteCond Host: www\.test\.com# 用以恢复重定向
#RewriteRule /$ /$1/b.html [I,L]
这样就可以了