One Joomlashack University student was wondering how to remove the .html at the end of his URLs.
This tutorial will show you how to do that and provide a useful SEO tip.
Why would you remove .html?
Before Content Management Systems were around, there was HTML. Almost all web pages on the web had ".html" behind them.
When Joomla came around, it needed a way to provide backward compatibility with what search engines and users expected. So it added the feature to add ".html" at the end of the URL.
How to turn off the .html suffix
- Go to the Joomla administrator area
- Go to System -> Global Configuration (top menu)
- Click the "Site" tab
- Set the "Adds Suffix to URL" option to "No"
- Click "Save & Close"
After turning it off, go to your home page, refresh the page, and make sure links work.
Important SEO Tip
With this change, you've modified practically all the URLs for your site. So any old links would likely result in 404s.
To fix this, edit your .htaccess file and add the following code after "RewriteEngine On":
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ /$1 [R,L]
For users on NGINX server
To enable Search Friendly URLs on NGINX server, please add the following code to your server nginx.conf configuration file:
location / { try_files $uri $uri/ /index.php?$args; }
If this code doesn't workour, try:
server {
.... location / { expires 1d;
# Enable joomla SEF URL's inside Nginx
try_files $uri $uri/ /index.php?$args;
}
....
}
Be sure to test any old links to make sure they redirect properly. Or add .html after new links and see if they redirect to the non-html URL version.