簡體   English   中英

經典的ASP重定向應該去哪里?

[英]Where should a classic ASP redirect go?

下面的代碼應該放在<head>嗎? 還是頁面上除了下面的代碼之外沒有其他內容?

<%
    Response.Redirect "http://www.sitename.com/?" & Request.QueryString
%>

只要啟用了響應緩沖並且沒有調用Response.Flush ,就可以在頁面中的任何位置執行Response.Redirect 緩沖導致所有ASP代碼在將任何頁面發送到瀏覽器之前執行。 因此,如果您在<head>之后的代碼內執行重定向,則不會將任何HTML發送到瀏覽器,因此重定向頭將被正確發送。

這些天通常默認情況下在IIS中啟用緩沖。 為了安全起見,您可以在ASP頁面頂部附近添加以下行:

Response.Buffer = True

經典ASP是服務器端代碼, <head>以及所有html是客戶端代碼。 如果您在.asp頁中有此行,則該頁上沒有其他內容是沒有意義的,因為用戶將永遠沒有機會看到它。

如果該行位於條件語句中,則更有意義-例如

<%
    If Request.QueryString("id") <> "" then
    Response.Redirect "http://www.sitename.com/?" & Request.QueryString("id")
    End If
%>

在此,只有在url中提供了id值的情況下,用戶才會跳到另一個頁面,否則該頁面中的所有客戶端代碼都將發送到瀏覽器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM