Перенаправление 301 не работает в ASP

#redirect #asp-classic

#перенаправление #asp-classic

Вопрос:

Я просмотрел все перенаправления asp, и все они говорят одно и то же. Я пытаюсь перенаправить отдельные страницы .asp на новый URL. Вот код, который я продолжаю видеть и несколько раз пытался поместить в начало рассматриваемых страниц:

 <%@Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader ( "Location","http://www.new-location.com" )
%>
 

Похоже, это не работает. Это выглядит как типичная страница .asp <@ Language=VBScript %>
, за которой вверху следует html-код. Есть ли другой способ перенаправить отдельные страницы .asp?

Ответ №1:

Я думаю, что проблема здесь в скобках

 <%@Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.new-location.com"
%>
 

Комментарии:

1. 1. Похоже, что On Error Resume Next где-то выше. В противном случае, если ошибка возникает из-за круглых скобок.

Ответ №2:

Попробуйте это…

 <%@ language="VBScript" %>
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader ( "Location","http://www.new-location.com" ) 
%> 
 

Комментарии:

1. В чем разница между этим и кодом в вопросе?

2. 1: Между <%@ и языком есть пробел. 2. Двойные кавычки окружают VBScript в операторе language= . Однако есть ошибка... скобки должны быть удалены. Я голосую за ответ Эдуардо.

Ответ №3:

Я знаю, что я очень опаздываю, но если у вас есть HTML после перенаправления, вам нужно будет использовать Response.End():

 <%@ language="VBScript" %>
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader ( "Location","http://www.new-location.com" ) 
Response.End()
%>