Single ErrorDocument directive to catch all errors (.htaccess)

前端 未结 4 1924
感情败类
感情败类 2020-12-15 15:33

Is there something like a wildcard directive to catch all possible errors and deal with them in a single custom error page?

ErrorDocument 404 /error.php?code         


        
相关标签:
4条回答
  • 2020-12-15 16:09

    For full reference... As far as i could get...

    First - .htaccess formatted

    Second - Descriptions.

    All these i found here -> httpstatuses.com

    These are All codes - Not just Errors .. Some will break your site. .

    Use like:

    ErrorDocument 100 https://EXAMPLE.com
    

    This is the exact copy Paste.. It is not mine, however i reformatted the list.


    ( Hover for description, Click for detail. )

    1×× : Informational

    • 100 : Continue
    • 101 : Switching Protocols
    • 102 : Processing


    2×× : Success

    • 200 : OK
    • 201 : Created
    • 202 : Accepted
    • 203 : Non-Authoritative Information
    • 204 : OK (No Content)
    • 205 : Reset Content
    • 206 : Partial Content
    • 207 : Multi-Status
    • 208 : Already Reported
    • 226 : IM Used


    3×× : Redirection

    • 300 : Multiple Choices
    • 301 : Moved Permanently
    • 302 : Found
    • 303 : See Other
    • 304 : Not Modified
    • 305 : Use Proxy
    • 307 : Temporary Redirect
    • 308 : Permanent Redirect


    4×× : Client Error

    • 400 : Bad Request
    • 401 : Unauthorized
    • 402 : Payment Required
    • 403 : Forbidden
    • 404 : Not Found
    • 405 : Method Not Allowed
    • 406 : Not Acceptable
    • 407 : Proxy Authentication Required
    • 408 : Request Timeout
    • 409 : Conflict
    • 410 : Gone
    • 411 : Length Required
    • 412 : Precondition Failed
    • 413 : Request Entity Too Large
    • 414 : Request-URI Too Long
    • 415 : Unsupported Media Type
    • 416 : Requested Range Not Satisfiable
    • 417 : Expectation Failed
    • 418 : I'm a teapot
    • 422 : Unprocessable Entity
    • 423 : Locked
    • 424 : Method Failure
    • 426 : Upgrade Required
    • 428 : Precondition Required
    • 429.") : Too Many Requests
    • 431 : Request Header Fields Too Large
    • 444 : No Response
    • 451 : Unavailable For Legal Reasons
    • 499 : Client Closed Request


    5×× : Server Error

    • 500 : Internal Server Error
    • 501 : Not Implemented
    • 502 : Bad Gateway
    • 503 : Service Unavailable
    • 504 : Gateway Timeout
    • 505 : HTTP Version Not Supported
    • 506 : Variant Also Negotiates
    • 507 : Insufficient Storage
    • 508 : Loop Detected
    • 510 : Not Extended
    • 511 : Network Authentication Required
    • 599 : Network connect timeout error

    (Source)

    0 讨论(0)
  • 2020-12-15 16:11

    Rather than passing in the error status code, you can pick it up in your script via the REDIRECT_STATUS environment variable (set by Apache). See: http://httpd.apache.org/docs/2.0/custom-error.html

    0 讨论(0)
  • 2020-12-15 16:21

    That is not possible. You need to have a ErrorDocument directive for each status code you want to handle differently than with the default error handler.

    0 讨论(0)
  • 2020-12-15 16:21

    I don't found a way to handle all ErrorDocument's with one line. But you dont have to write out all the redirects. You can pass the ErrorCode in PHP with:

    $response_code = http_response_code()
    

    My .htaccess looks like

    ErrorDocument 401 /error.php
    ErrorDocument 402 /error.php
    ErrorDocument 403 /error.php
    ErrorDocument 404 /error.php
    ErrorDocument 500 /error.php
    
    0 讨论(0)
提交回复
热议问题