Search code examples
apache.htaccess

.htaccess | Setting ErrorDocuments


I have a .htaccess file, and I wanted to set up ErrorDocuments for most 4xx and 500 HTTP/1.1 errors (most won't be used, but better off prepared).

However, when the file has the following, it throws a 500 Internal Server Error (I tried commenting this and it worked):

ErrorDocument 400 /ErrorHandler/index.php
ErrorDocument 401 /ErrorHandler/index.php
ErrorDocument 402 /ErrorHandler/index.php
ErrorDocument 403 /ErrorHandler/index.php
ErrorDocument 404 /ErrorHandler/index.php
ErrorDocument 405 /ErrorHandler/index.php
ErrorDocument 406 /ErrorHandler/index.php
ErrorDocument 407 /ErrorHandler/index.php
ErrorDocument 408 /ErrorHandler/index.php
ErrorDocument 409 /ErrorHandler/index.php
ErrorDocument 410 /ErrorHandler/index.php
ErrorDocument 411 /ErrorHandler/index.php
ErrorDocument 412 /ErrorHandler/index.php
ErrorDocument 413 /ErrorHandler/index.php
ErrorDocument 414 /ErrorHandler/index.php
ErrorDocument 415 /ErrorHandler/index.php
ErrorDocument 416 /ErrorHandler/index.php
ErrorDocument 417 /ErrorHandler/index.php
ErrorDocument 418 /ErrorHandler/index.php
ErrorDocument 421 /ErrorHandler/index.php
ErrorDocument 422 /ErrorHandler/index.php
ErrorDocument 423 /ErrorHandler/index.php
ErrorDocument 424 /ErrorHandler/index.php
ErrorDocument 426 /ErrorHandler/index.php
ErrorDocument 427 /ErrorHandler/index.php
ErrorDocument 428 /ErrorHandler/index.php
ErrorDocument 429 /ErrorHandler/index.php
ErrorDocument 431 /ErrorHandler/index.php
ErrorDocument 451 /ErrorHandler/index.php
ErrorDocument 500 /ErrorHandler/index.php
ErrorDocument 501 /ErrorHandler/index.php
ErrorDocument 502 /ErrorHandler/index.php
ErrorDocument 503 /ErrorHandler/index.php
ErrorDocument 504 /ErrorHandler/index.php
ErrorDocument 505 /ErrorHandler/index.php
ErrorDocument 506 /ErrorHandler/index.php
ErrorDocument 507 /ErrorHandler/index.php
ErrorDocument 508 /ErrorHandler/index.php
ErrorDocument 510 /ErrorHandler/index.php
ErrorDocument 511 /ErrorHandler/index.php

(I tried with full URL too)

NOTE: /ErrorHandler is a folder. /ErrorHandler/index.php shows an error message.

[[ EDITED ]]


Solution

  • Try doing it like this:

    ErrorDocument 404 https://www.example.com/notfound.html
    

    Use the links instead of a folder name, should work fine then.

    EDIT;

    It needs to be the absolute path, for example:

    ErrorDocument 404 /404.php
    ErrorDocument 405 /405.php
    ErrorDocument 406 /406.php