我找到了一种解决方案,使用 Render() 方法将 url 路径替换为正确的路径。此论坛帖子包含有关此解决方案的信息。我必须修改它以检查 Request.Url 以查看页面请求来自哪个域。
protected override void Render(HtmlTextWriter writer)
{
try
{
StringBuilder renderedOutput = new StringBuilder();
StringWriter strWriter = new StringWriter(renderedOutput);
HtmlTextWriter tWriter = new HtmlTextWriter(strWriter);
base.Render(tWriter);
//this string is to be searched for src="/" mce_src="/" and replace it with correct src="./" mce_src="./".
string s = renderedOutput.ToString();
s = Regex.Replace(s, "(?<=<img[^>]*)(src=\\\"/)", "src=\"./", RegexOptions.IgnoreCase);
s = Regex.Replace(s, "(?<=<script[^>]*)(src=\\\"/)", "src=\"./", RegexOptions.IgnoreCase);
s = Regex.Replace(s, "(?<=<a[^>]*)(href=\\\"/)", "href=\"./", RegexOptions.IgnoreCase);
writer.Write(s);
}
catch
{
}
}
}