How to Remove .html from URLs on Your Website
Why Remove .html from URLs?
Removing .html from your URLs can make them look cleaner and more user-friendly. This practice can also help improve your website's SEO by making the URLs more readable and easier to remember. For example, example.com/about looks more professional and modern than example.com/about.html.
How to Remove .html from URLs
There are several ways to remove .html from your URLs, depending on the server and the technology stack you are using. Here, we'll cover how to do this for Apache, Nginx, and using an .htaccess file.
Using Apache
If your website is hosted on an Apache server, you can use the .htaccess file to rewrite the URLs.
-
Create or Edit the .htaccess File:
Locate the
.htaccessfile in the root directory of your website. If it doesn't exist, create one. -
Add the Rewrite Rules:
Open the
.htaccessfile and add the following code:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0-9_-]+)$ $1.html [L]This code tells the server to look for a file with the
.htmlextension if the URL without the extension is requested. -
Save and Upload:
Save the changes to the
.htaccessfile and upload it to your server.
Using Nginx
For websites hosted on an Nginx server, you can achieve the same result by editing the server configuration file.
-
Edit the Server Block:
Open your Nginx configuration file (usually located at
/etc/nginx/sites-available/your_site). -
Add the Rewrite Rules:
Inside the server block, add the following code:
location / { try_files $uri $uri.html $uri/ =404; }This code tells Nginx to try accessing the URL as it is, then with a
.htmlextension, and finally as a directory. -
Restart Nginx:
Save the changes and restart Nginx to apply the new configuration:
sudo systemctl restart nginx
Using HTML and JavaScript
If you don't have access to the server configuration files or prefer a simpler approach, you can use HTML and JavaScript to achieve a similar effect.
-
Create a Redirect Script:
Add the following script to the
<head>section of your HTML files:<script> if (window.location.pathname.endsWith(".html")) { window.location.pathname = window.location.pathname.replace(".html", ""); } </script>This script automatically redirects users from URLs with
.htmlto the cleaner version without it.
Conclusion
Removing .html from your URLs can enhance the user experience and improve your website's SEO. Depending on your server setup, you can achieve this using Apache, Nginx, or even a simple JavaScript solution. Choose the method that best fits your needs and make your website URLs clean and professional.

Thanks a lot it's really helpful 😃
ReplyDelete