2010-07-22 1 views
3

Я переместил некоторые из моих старых страниц asp на новый веб-сайт aspx. Во всех старых страницах я использовал (для файла example.asp):Как сделать постоянную работу перенаправления 301 при наличии параметров в строке запроса?

Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","http://www.example.com/example.aspx"); 

Проблема заключается в том, что когда страница example.com/example.asp?param=value & param2 = value2
испрашивается - перенаправление не работает ...

Кто-нибудь ...?

ответ

0

Добавьте параметры строки запроса в конец заголовка местоположения, разделенные вопросительным знаком. Я считаю, что это в Request.Url.Query.

0

Вы могли бы попробовать что-то вроде этого, чтобы обеспечить строки запроса осуществляется через:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Response.Status = "301 Moved Permanently"; 
    string sQueryString = this.Request.ServerVariables["QUERY_STRING"]; 
    Response.AddHeader("Location", String.Format("http://www.domain.com/example.aspx?{0}", sQueryString)); 
} 
2

Это решение будет работать с классической страницы ASP. В принципе, пример того, что сказал смек.

<%@ Language=VBScript %> 
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location", "http://www.test.com/default.aspx?" + Request.QueryString 
Response.End 
%>