开发环境:
服务器名称: |
SJ |
服务器操作系统: |
Microsoft Windows NT 5.1.2600 Service Pack 3 |
服务器IIS版本: |
.NET解释引擎版本: |
.NET CLR 2.0.50727.3603 |
|
Discuz!NT 3.0/3.1 |
跟踪发现: Discuz.Forum\HttpModule.cs : else if (requestPath.StartsWith(forumPath + "tools/")) { //当使用伪aspx, 如:showforum-1.aspx等. if (config.Aspxrewrite == 1) { string path = requestPath.Substring(forumPath.Length + 5); foreach (SiteUrls.URLRewrite url in SiteUrls.GetSiteUrls().Urls) { if (Regex.IsMatch(path, url.Pattern, Utils.GetRegexCompiledOptions() | RegexOptions.IgnoreCase)) { string newUrl = Regex.Replace(path, url.Pattern, Utils.UrlDecode(url.QueryString), Utils.GetRegexCompiledOptions() | RegexOptions.IgnoreCase); context.RewritePath(forumPath + "tools" + url.Page, string.Empty, newUrl); return; } } } return; } 问题原因: 凡是访问upload路径 就给重写,那上传的图片当然访问不到了导致camera.swf不能正确加载图片。 else if (requestPath.StartsWith(forumPath + "upload/") || requestPath.StartsWith(forumPath + "space/upload/") || requestPath.StartsWith(forumPath + "avatars/upload/")) { context.RewritePath(forumPath + "index.aspx"); return; } 最简单的方法注释掉上段代码即可: //else if (requestPath.StartsWith(forumPath + "upload/") || requestPath.StartsWith(forumPath + //"space/upload/") || requestPath.StartsWith(forumPath + "avatars/upload/")) //{ // context.RewritePath(forumPath + "index.aspx"); // return; //}