<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 自定義錯誤響應 Apache可以讓網站管理員自己自定義對一些錯誤和問題的響應。 自定義的響應可以定義為當服務器檢測到錯誤或問題時才被激活。 如果一個腳本崩潰并產生"500 Server Error"響應,那么這個響應可以被更友好的提示替換或者干脆用重定向語句跳到其他的URL(本地的或外部的)。 ## 行為 ### 老式的行為 Apache1.3 會響應一些對于用戶沒有任何意義的錯誤或問題信息,而且不會將產生這些錯誤的原因寫入日志。 ### 新式的行為 服務器可以被要求作出如下應答: 1. 顯示一些其他的文字以代替硬編碼的信息 2. 重定向到本地URL 3. 重定向到一個外部的URL 當一些信息可以被傳遞的時候,重定向到另外一個URL就變得很有用。這些信息用于更清楚的解釋和/或記錄一些錯誤或問題產生的原因。 為了達到這個目的,Apache將定義一些新的類似于CGI環境變量的環境變量: ``` REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05 9000/712) REDIRECT_PATH=.:/bin:/usr/local/bin:/etc REDIRECT_QUERY_STRING= REDIRECT_REMOTE_ADDR=121.345.78.123 REDIRECT_REMOTE_HOST=ooh.ahhh.com REDIRECT_SERVER_NAME=crash.bang.edu REDIRECT_SERVER_PORT=80 REDIRECT_SERVER_SOFTWARE=Apache/0.8.15 REDIRECT_URL=/cgi-bin/buggy.pl ``` 請注意"`REDIRECT_`"這個前綴。 至少會有`REDIRECT_URL`和`REDIRECT_QUERY_STRING`兩個變量會被傳遞到新的URL(假定這個URL是cgi腳本或者是cgi包含頁面)。其他變量將僅在發生錯誤或問題之前存在的情況下才存在。如果你的`ErrorDocument`使用了_外部_重定向(任何類似于`http:` 開頭的形式,哪怕它仍指向同一個服務器),將**沒有**任何變量被指定。 ## 配置 當對`ErrorDocument`進行了相應的設置后,將可以在`.htaccess`文件中使用`AllowOverride`指令。 以下是一些示例... ``` ErrorDocument 500 /cgi-bin/crash-recover ErrorDocument 500 "Sorry, our script crashed. Oh dear" ErrorDocument 500 http://xxx/ ErrorDocument 404 /Lame_excuses/not_found.html ErrorDocument 401 /Subscription/how_to_subscribe.html ``` 語法如下: `ErrorDocument &lt;3位錯誤代碼&gt; &lt;action&gt;` &lt;action&gt;可以代表: 1. 用于顯示的用雙引號(")界定的文字。雙引號之間的所有文字都將被顯示,_但雙引號本身不會被顯示_ 2. 作為重定向目的外部URL 3. 作為重定向目的本地URL ## 自定義錯誤響應與重定向 Apache重定向到URL的行為已經進行了修改,以便可以在腳本/服務器端包含頁面加入額外的環境變量。 ### 老式的行為 標準CGI變量對于重定向的目的腳本來說是可見的。但沒有說明重定向的來源。 ### 新式的行為 一批新的環境變量將被初始化并提供給重定向的目標腳本。每個新變量都有一個"`REDIRECT_`"前綴。`REDIRECT_*` 環境變量由重定向之前的CGI環境變量創建而來,并被加上了"`REDIRECT_`"前綴。比如說,`HTTP_USER_AGENT`變成了`REDIRECT_HTTP_USER_AGENT` 。在這些新變量之外,Apache還將定義`REDIRECT_URL`和`REDIRECT_STATUS`來幫助腳本確定重定向的來源。重定向的源URL和目的URL都能被記錄到訪問日志中。 如果`ErrorDocument`指定了一個到本地CGI腳本的重定向,該腳本應當在它的輸出中包含一個"`Status:`"頭字段以確保將導致調用它的錯誤條件始終返回客戶端。舉例來說,一個Perl `ErrorDocument`腳本可能包含如下內容: ``` ... print "Content-type: text/html\n"; printf "Status: %s <中斷條件>\n", $ENV{"REDIRECT_STATUS"}; ... ``` 如果該腳本專門用于處理一個特定的錯誤條件,比如:`404 Not Found` ,它就可以使用特定的代碼和錯誤文本進行替代。 需要注意的是如果應答包含一個"`Location:`"頭(為了進行一個客戶端重定向),腳本_必須_發出一個適當的"`Status:`"頭(比如:`302 Found`)。否則"`Location:`"頭可能無效。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看