我们将目录名称从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,使其更具故障安全性并处理安全/非安全模式。