我想重定向所有不存在的页面不同的域,因为我的博客被移动到不同的域。
所以www.mydomain.com/blog/asdf应该重定向到blog.mydomain.com/blog/asdf
使用Intelligencia URLRewriter模块我也可以把博客/但如果我做博客/什么,我收到了404。
即使没有这样一个正则表达式的简单规则,它不会为任何博客文件夹下工作
<rewrite url="~/blog/^" to="http://blog.softwaresynergy.com/blog/" />
我也试过这迫使所有的请求去处理
<modules runAllManagedModulesForAllRequests="true">
如何收拾下博客的一切任何想法/和重定向到其他域?
试着用以下的重定向规则:
<redirect url="^/blog/(.+)$" to="http://blog.softwaresynergy.com/blog/$1" />
把它放在你的其他重写规则上面,所以它最先被执行,我认为它应该工作。
URL重写不允许改写其他域或子路径。 您可以使用在Global.asax中的代码重新定向的网址:
void Application_BeginRequest(object sender, EventArgs e)
{
string path = Request.Path;
if (path.Contains("blog/"))
{
HttpContext.Current.Response.Redirect("http://blog.softwaresynergy.com/blog/");
}
}
使用自定义的404页。
<system.webServer>
<httpErrors existingResponse="Replace" errorMode="Custom">
<remove statusCode="404"/>
<error statusCode="404" path="/Custom404.aspx" responseMode="Redirect" />
<customErrors mode="On">
<error statusCode="404" redirect="/custom404.aspx" />
在custom404页面里面我把代码做我的重定向。 获取引起错误很可能是一个组合的路径...
Request.QueryString("aspxerrorpath");
Request.UrlReferrer;
一旦我有他们试图访问的路径只是做一个重定向。
Response.Redirect(NEW_SITE + PATH, true);
我也以不同的方式的变化。 离开原始站点的PHP和使用PHP重写的正常工作做了重定向。
在域new.mydomain我做的ASPX网站
不理想,但现在的工作。