• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Custom Error Pages?

#1
Hi,

If I use Custom Error Pages on my website do I still need to use anything in the .htaccess file on my website as if I include any of the .htaccess file my Custom Error Pages wont work.

Example (this is part of my .htaccess file)
PHP:
  ErrorDocument 400 /e/400.php
  ErrorDocument 401 /e/401.php
  ErrorDocument 403 /e/403.php
  ErrorDocument 404 /e/404.php
  ErrorDocument 500 /e/500.php
Example (this is the .htaccess file used by XF)
PHP:
#    Mod_security can interfere with uploading of content such as attachments. If you
#    cannot attach files, remove the "#" from the lines below.
#<IfModule mod_security.c>
#    SecFilterEngine Off
#    SecFilterScanPOST Off
#</IfModule>

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 500 default

<IfModule mod_rewrite.c>
    RewriteEngine On

    #    If you are having problems with the rewrite rules, remove the "#" from the
    #    line that begins "RewriteBase" below. You will also have to change the path
    #    of the rewrite to reflect the path to your XenForo installation.
    #RewriteBase /xenforo

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data|js|styles|install) - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
</IfModule>
 

Brogan

XenForo moderator
Staff member
#2
You don't need any entries in your .htaccess for custom error pages.

You can just set it up via cPanel and/or add the custom pages to your web root.
 

Mike

XenForo developer
Staff member
#3
Note that with the XF htaccess (needed for friendly URLs) custom error pages won't really be used (within the XF directory). The htaccess maps all URLs to XF. The ErrorDocument lines are there because it's quite common for them to reference, for example, 500.shtml which may itself not be found, which redirects to XF and throws a misleading error message.
 
#4
If I takeout this part.

PHP:
ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 500 default
And put this in its place.

PHP:
  ErrorDocument 400 /e/400.php
  ErrorDocument 401 /e/401.php
  ErrorDocument 403 /e/403.php
  ErrorDocument 404 /e/404.php
  ErrorDocument 500 /e/500.php

<IfModule mod_rewrite.c>
    RewriteEngine On

    #    If you are having problems with the rewrite rules, remove the "#" from the
    #    line that begins "RewriteBase" below. You will also have to change the path
    #    of the rewrite to reflect the path to your XenForo installation.
    #RewriteBase /xenforo

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data|js|styles|install) - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
</IfModule>
it wont work at all, but if I takout all the XF .htaccess code it works.