我们将目录名称从www.oursite.com/infocus/pages ...更改为www.oursite.com/view/pages ...我们保留了旧目录,但希望将用户推送到新的url。如何在不使用webconfig或htaccess的情况下将每个页面重写/重定向到新位置(无权添加或更改)。我在所有页面上都使用了include语句。我假设这将是重写和正则表达式。

例子:


  www.oursite.com/infocus/1.aspx-转到-www.oursite.com/view/1.aspx
  
  www.oursite.com/infocus/2.aspx-转到-www.oursite.com/view/2.aspx
  
  www.oursite.com/infocus/3.aspx-转到-www.oursite.com/view/3.aspx

最佳答案

我知道您已经接受了答案,但是更可取的方法是301永久重定向。一种简单的方法是:

C#

<% if (Request.Url.PathAndQuery.StartsWith("/infocus/")) {
       Response.StatusDescription = "Moved Permanently" ;
       Response.StatusCode = 301;
       Response.AddHeader("Location", "http://yourdomain" + Request.Url.PathAndQuery.Replace("/infocus/","/view/"));
} %>


VB

<%
    If (Request.Url.PathAndQuery.StartsWith("/infocus/")) Then
        Response.StatusDescription = "Moved Permanently"
        Response.StatusCode = 301
        Response.AddHeader("Location", "http:/yourdomain" + Request.Url.PathAndQuery.Replace("/infocus/", "/view/"))
    End If
%>


可以直接放在母版页代码前面。您可以做一些次要的mod,使其更具故障安全性并处理安全/非安全模式。

07-28 12:29