安迪豬 發問時間: 電腦與網際網路程式設計 · 1 0 年前

請問網頁轉址的語法怎麼寫?

當A網站無法讀取或伺服器暫時關閉等任何原因使A網站無法正常遊覽時,會自動轉址到B網站。

這樣的語法該怎麼寫....javascript, php 都行...

3 個解答

評分
  • mh
    Lv 7
    1 0 年前
    最佳解答

    這個問題個人認為可能不見得是 javascript 寫得出來:

    方法一:做一個 404.html 用 meta refresh 導到別站,404.html 內容像這樣:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <html> <head> <title>工事中</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    <META http-equiv="refresh" content="5;URL=別站網址路徑"></head>

    <body bgcolor="#ffffff"> <center>本站正在工事中或者你嘗試執行的頁面不存在,在五秒鐘後會轉送到<a href="別站網址路徑">站名</a>。

    請更新您的書籤。 僅此致歉。</center> </body> </html>

    這個方法不是說很好,因為 meta refresh 是發生在訪客端,對搜尋引擎還有帶網路交易的 session / cookie 都不利。

    方法二: Unix / Linux 伺服器用的。在網頁根目錄下放個或者編輯修改 .htaccess 檔案,內文如下:

    redirect 404 本地檔案路徑 別站網址路徑

    舉個例假設你的原本站叫做 http://tw.knowledge.yahoo.com/index.html,原本站的 index.html 放在 /var/www/knowledge/index.html,錯誤時要導到 http://answers.yahoo.com/index.html,那就這樣寫:

    redirect 404 /var/www/knowledge/index.html http://answers.yahoo.com/index.html

    相對的 session cookie 都會被保留,因為轉址是在伺服器端發生的。

    方法三: Windows 伺服器用的。在你的錯誤頁 (很可能是 404.asp) <html> 或者 <!DOCTYPE ...> 標籤前放:

    <%@ Language=VBScript %>

    <%

    response.status="404 error, moved permanently"

    Response.AddHeader "Location", "別站網址"

    %>

    如果你使用 asp.net 網頁,那:

    <script runat="server">

    private void Page_Load(object sender, System.EventArgs e)

    {

    response.status = "404 error, moved permanently";

    Response.AddHeader("Location","別站網址");

    }

    </script>

    同樣方法適用於 301 轉址。

  • 9 年前

    可以協助解答這個語法問題嗎

    http://tw.knowledge.yahoo.com/question/question?qi...

    謝謝

  • 1 0 年前

    JavaScript轉頁方法如下,content是轉頁的時間(秒)

    url是轉頁的網址

    <meta http-equiv='refresh' content=1; url=http://tw.yahoo.com'>

    PHP轉頁方法如下

    header ("Location: http://tw.yahoo.com");

    如果還有不懂的地方,歡迎提出來一起討論

    參考資料: 自己
還有問題?馬上發問,尋求解答。