flashweb

Well-Known Member
Mar 13, 2003
255
2
168
cPanel Access Level
Root Administrator
Hi,

Cpanel uses 404.shtml as the default error document.

How can i change 404.shtml to 404.php ?

I need to use PHP as all my pages are in php, so i can use same site template for 404 pages too.

Regards,

Yujin
 

AndyReed

Well-Known Member
PartnerNOC
May 29, 2004
2,221
4
193
Minneapolis, MN
You can change 404.shtml to 404.php through httpd.conf
SSH to your server, vi httpd.conf and change error pages extensions from .shtml to .php

It should work.

Andy Reed
WebHostPad.com
 

PWSowner

Well-Known Member
Nov 10, 2001
2,948
4
343
ON, Canada
That would work, but it would result in a global change. Any other sites on the server would have to change their 404 pages. Also, any changes to the httpd.conf file will require restarting apache for the changes to take effect.
 

AndyReed

Well-Known Member
PartnerNOC
May 29, 2004
2,221
4
193
Minneapolis, MN
In this case the other option you might have is:
ln -s 404.shtml 404.php

Andy reed
WebHostPad.com
 

PWSowner

Well-Known Member
Nov 10, 2001
2,948
4
343
ON, Canada
I just tested an idea and it worked. You can specify a different 404 page for 1 specific site by putting

ErrorDocument 404 /whatever.ext

inside the VirtualHost tags for that domain in the httpd.conf file.

Just remember, always keep a backup of that file before modifying it, and after you make your change, you need to restart apache.
 

SarcNBit

Well-Known Member
Oct 14, 2003
1,010
3
168
Have you tried creating an .htaccess file with;

Code:
ErrorDocument 404 [url]http://domain/404.php[/url]
in it?
 

SarcNBit

Well-Known Member
Oct 14, 2003
1,010
3
168
Your welcome. I had to ask, because sometimes the easy answer gets overlooked. ;)
 

PWSowner

Well-Known Member
Nov 10, 2001
2,948
4
343
ON, Canada
Originally posted by SarcNBit
Your welcome. I had to ask, because sometimes the easy answer gets overlooked. ;)
In my case it's because I haven't had the time yet to study the use of the .htaccess file so I don't fully understand how to use it. From what I've seen though, it appears that it can be used to do almost anything.

The only things I do with .htaccess is whatever I've seen examples of. Some day I really need to take time to learn the workings of it.
 

SarcNBit

Well-Known Member
Oct 14, 2003
1,010
3
168
Originally posted by squirrel
The only things I do with .htaccess is whatever I've seen examples of.
I hope your move went well.

Substitute the word .htaccess in the above quote with the word cPanel (or 100 other things for that matter) and you pretty much sum up my knowledge base. ;)
 

PWSowner

Well-Known Member
Nov 10, 2001
2,948
4
343
ON, Canada
Originally posted by SarcNBit
I hope your move went well.
Not yet. This weekend or next weekend I'm going to London, ON to stay at a motel for a week to look for a place for July 1. As of July 1, I'll be living in a bigger city with more potential for business. Still a tiny city compared to US ones, but one of the larger ones here in Canada.
 

X-Istencedotcom

Well-Known Member
Apr 14, 2003
223
0
166
.htaccess can be used for almost anything.

You can use it to tell PHP to turn safe mode on or off, change limits for certain scripts, and other neat stuff.

Code:
#
# Apache/PHP/site settings:
#

# Protect files and directories from prying eyes:
<Files ~ "(\.(conf|inc|module|pl|sh|sql|theme)|Entries|Repositories|Root|scripts|updates)$">
  order deny,allow
  deny from all
</Files>


# Set some options
Options Indexes FollowSymLinks

# Customized server error messages:
ErrorDocument 400 /error.php
ErrorDocument 402 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php

# Overload PHP variables:
<IfModule mod_php4.c>
   php_value register_globals        0
   php_value track_vars              1
   php_value short_open_tag          1
   php_value magic_quotes_gpc        0
   php_value magic_quotes_runtime    0
   php_value magic_quotes_sybase     0
   php_value arg_separator.output    "&amp;"
   php_value session.cache_expire    200000
   php_value session.gc_maxlifetime  200000
   php_value session.cookie_lifetime 2000000
   php_value session.auto_start      0
   php_value session.save_handler    files
   php_value session.cache_limiter   none
   php_value allow_call_time_pass_reference  On
#   php_value session.save_path         /home/personal/public_html/temp
</IfModule>

# Various rewrite rules
<IfModule mod_rewrite.c>
  RewriteEngine on

  # Rewrite old-style URLS of the form 'node.php?id=x':
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{QUERY_STRING} ^id=([^&]+)$
  RewriteRule node.php index.php?q=node/view/%1 [L]

  # Rewrite old-style URLs of the form 'module.php?mod=x':
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
  RewriteRule module.php index.php?q=%1 [L]

  # Rewrite URLs of the form 'index.php?q=x':
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

</IfModule>
Is what i use on http://personal.x-istence.com/ with Drupal to allow for neat links, and so it can function properly.

Blocking certain extensions and or directories is really nice as well, this way people do not get to go in and take a look at em.

Code:
RewriteEngine on


# Lets not allow people to hotlink images. Its not very nice of them is it?

# The sites we want to allow are the ones we list here, others are blocked.

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?x-istence.com(/)?.*$     [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?download.x-istence.com(/)?.*$     [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?personal.x-istence.com(/)?.*$     [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?tutorials.x-istence.com(/)?.*$     [NC]
RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?forums.x-istence.com(/)?.*$     [NC]

# This is our rewrite rules

RewriteRule .*\.(gif|jpg|jpeg|bmp|png|wav|zip|mpg)$ - [F,NC]
My Rewrite rules to stop people from other sites hotlinking my images. Works especially effective. Better than the standard cPanel ones i might add.