0

私がホストしているサイトは現在作成中なので、すべてのページをホームページにリダイレクトしようとしています。リダイレクトに次のコードを使用しています。

Response.Status = "302 Moved Temporary"
Response.AddHeader "Location", "http://www.soundczar.com" 
Response.End()

ただし、正しくリダイレ​​クトできるブラウザはOperaだけです。Firefox、IE、およびChromeはページをリダイレクトできません。私は先週、別の古典的なaspサイトで同じ問題を抱えていました。このコードをフッターSSIの最後に配置しました。助言がありますか?

4

1 に答える 1

2

それらをフッターに設定することで、ほとんどのブラウザーにはおそらく手遅れになります。ヘッダーで送信する必要があり、ヘッダーはその時点ですでに送信されています。ページ出力が発生する前に状態を処理するのが最善です。

それができない場合は、ページ全体をバッファリングし、その条件に達したときにリダイレクトする前にバッファをクリアする必要があります。

Response.Buffer = True

Other_Code_Here()

If redirect_condition Then
    Response.Clear
    Response.Status = "302 Moved Temporary"
    Response.AddHeader "Location", "http://www.soundczar.com"
    Response.End()
End If
于 2013-01-22T08:14:43.610 に答える