I have trawled through Google for several days on finish now looking for a means to fix my problem, patching in segments of code with no success. Nothing has labored. Among the finest to get rid of the file extension .shtml from the URL but NOTHING works. I have ensured the file has been up-to-date and this site is not being loading from cache and all sorts of that malarcky. Can someone let me know where I am failing, please?

Only factor I'm able to think about is the fact that my website hosting (Hostgator) does not possess the Apache mod_rewrite enabled?

RewriteEngine On

#Remove file extensions
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.shtml -f
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.shtml [L]

#Add trailing slash
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://mythofechelon.co.uk/$1/ [L,R=301]

Help could be much appreciated.

Instead of your extension getting rid of code have this code rather:

# To externally redirect /dir/foo.shtml to /dir/foo
RewriteCond %{THE_REQUEST} ^GET\s.+\.shtml [NC]
RewriteRule ^(.+)\.shtml$ /$1 [R=301,L,NC]

# To internally redirect /dir/foo to /dir/foo.shtml
RewriteCond %{REQUEST_URI} !\.shtml$ [NC]
RewriteCond %{REQUEST_FILENAME}.shtml -f
RewriteRule . %{REQUEST_URI}.shtml [L

Adding Trailing Slash

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]

However bear in mind that a URI of http://domain.com/foo#aaa will end up http://domain.com/foo/#aaa because there's not a way to identify # from mod_rewrite since that's handled entirely by browsers.

Options +MultiViews

Does exactly the same factor.