| Joomla

Remove index.php and IDs from URLs in Joomla

Sometimes you want to remove the /index.php from after your domain name or the category ID/article ID from your Category Blog or Category List menu items.

This blog post will explain how to do both.

Removing index.php from URLs

By default, Search Engine Friendly URLs are set to display domainname.com/index.php/whatever-else. It’s simple enough to remove index.php with just a few steps. You will need FTP or access to the hosting control panel to complete this task. We’ll be using cPanel in this example but it will be similar with any hosting dashboard.

Remove index.php and IDs from URLs in Joomla

  • login to your cPanel hosting account dashboard or control panel
  • click on File Manager

Remove index.php and IDs from URLs in Joomla

  • click on public_html (Or whatever directory your site is in. In our case, it’s a subdomain named staging.)

Remove index.php and IDs from URLs in Joomla

  • scroll down until you see the file named htaccess.txt

Remove index.php and IDs from URLs in Joomla

  • right click on the file name 
  • rename file to .htaccess 
  • delete the .txt from the end (To be clear, you’re adding a . (dot) to the front and removing the . (dot) plus txt from the back of the file name.)  
  • click the Rename File button

Remove index.php and IDs from URLs in Joomla

Remove index.php and IDs from URLs in Joomla

  • login to the backend of your Joomla site
  • click on System -> Global Configuration

Remove index.php and IDs from URLs in Joomla

On the right-hand side of the screen, you’ll see the heading SEO Settings. The second field/setting is called Use URL Rewriting.

  • toggle Use URL Rewriting from No to Yes.

use url rewriting yes -Remove index.php and IDs from URLs in Joomla

  • click Save & Close in the Top Toolbar
  • go to the frontend of your website to the home page if you’re not there already (simply refresh the page if already on home page)
  • Test the URLs by navigating to different pages and verifying that the index.php portion of the URL no longer displays

no more index in url

Note: Any hard URLs that have been used will no longer work. Any links you set in modules or particles or articles that included /index.php/whatever-else will need to be changed to simply /whatever-else without the index.php.


Removing the Category and Article IDs from URLs

In Category Blog or Category List Menu Item Types, the links will include either or both the Category ID and/or Article ID in the URL by default.

Thanks to excellent work by Hannes, there is now the option to change to the Modern Routing option and eliminate those category/article IDs from the URL. Here’s how to do it.

NOTE FOR NEW SITES ONLY: Do this only on new sites or test it on a dev site before doing it on a live site as your links will break. You want to make sure everything works as intended BEFORE doing this on a live site since all your links will need to change and multiple redirects will likely need to be done. If it’s a brand new install, you’re safe to change the setting to Modern. Here’s the Joomla tooltip warning saying the same thing.

103 tooltip URL routing - Remove index.php and IDs from URLs in Joomla

  • login to the backend of Joomla
  • go to Content -> Articles

content articles - Remove index.php and IDs from URLs in Joomla

  • click the Options button on the far right in the Top Toolbar

options button

  • click on the Integration tab
  • change the URL Routing field from Legacy to Modern under the heading Routing
  • change Remove IDs from URLs from No to Yes.

modern remove urls integration tab - Remove index.php and IDs from URLs in Joomla

  • click Save & Close

On the frontend of your website,

  • navigate to the home page if you’re not there already (simply refresh the page if already on home page)
  • navigate to one of your Category Blog or Category List menu item types
  • test several to verify the IDs are not displaying in the URLs

Your URL should look like the below in which the 3 that was in our URL before is no longer displaying.

url no id

Thanks for following along! Great work.

Don't miss all the Joomla classes and tutorials on OST.


About the author

Jenn has worked with Joomla since 2006 and for clients since 2010. She co-organised the JUG Bay Area for many years and volunteers for the Joomla! Project regularly. Originally from Santa Cruz, CA, she now lives near Austin, TX.