Knowledge base article
Hide .html extension using .htaccess
View other domains and DNS articles
Related articles
Force HTTPS via .htaccess (cPanel)
How to issue a Let’s Encrypt certificate
Other domains and DNS articles
A beginners guide to email spoofing
Accessing your site before changing DNS
An introduction to email authentication
Can I test out your services for free?
Cancel auto renewal on a domain registration
Complete a manual Change of Registrant (CoR) application for a .au domain
Configure spam filtering in cPanel
Domain options for shared hosting
Download or restore individual files, directories or database backups with JetBackup
Eligibility requirements for .au domains
Enabling PHP extensions, Changing PHP Version and Setting PHP Options
Finding your domain password/EPP code
Force HTTPS via .htaccess (cPanel)
Getting Started with Anycast DNS
Getting Started with the Content Delivery Network (CDN)
How to ensure website generated emails are delivered successfully
How to issue a Let’s Encrypt certificate
Manage DNS zones with the cPanel Zone Editor
Migrate remote staging website to local hosting server
Migrate remote transactional website to local server
My site and/or email service is down
Network Firewall (I can’t access my services on a non-standard port)
Pointing your domain to Serversaurus
Pointing your domain to Squarespace with cPanel
Reconfigure production website to subdomain
Subdomains for test sites & more
The SLA – Best effort versus 99.9% versus 100%
Transfer your domain to Serversaurus
Unable to renew certificate: The Let’s Encrypt HTTP challenge failed
Understanding CloudLinux resource limits
Update your domain contact information
Using Serversaurus’ nameservers but hosting your email elsewhere
Using the Serversaurus Cloud CDN with your WordPress website
What happens if my domain expires?
This article will teach you how to hide the .html extension from your domain URL using a .htaccess rewrite condition
Do you want to hide the .html file extension from your URL for cosmetic purposes? This can be implemented by adding a rewrite entry in your .htaccess file.
For example, if a webpage loads via URL https://yourdomain.com/page.html, after implementing the redirect, the webpage will be served via https://yourdomain.com/page.
To complete this guide, please ensure you have SSH Access to your hosting server. Serversaurus hosting relies on key based authentication to login via SSH/SFTP. To set up SSH access you can generate a SSH key pair and configure it in cPanel before proceeding with this guide.
Let's get started!
- Open your terminal window and SSH to your hosting server:
ssh username@yourserver.serversaurus.com.au
- Change into your public_html directory (or alternative document root location):
cd public_html
- Edit the .htaccess file using vi:
vi .htaccess
- Paste the following text to the beginning of your .htaccess file by typing i and then paste the text:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.+)$ $1.html [L,QSA] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*.html HTTP/ RewriteRule ^(.*).html$ /$1 [R=301,L]
Once completed press esc then enter :wq to save your files changes.
Well done! Your URLs will now be rewritten without the HTML file extension.
Last updated November 30, 2023