iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
In Joomla Administrator, open System → Global Configuration → Site, find the SEO section, set Search Engine Friendly URLs to Yes, and save. That enables readable Joomla routes. Removing index.php is a separate server-rewrite step: Apache requires a correctly named .htaccess file and permitted overrides, while Nginx needs a try_files rule pointing requests to Joomla’s index.php.
What SEF URLs mean in Joomla
Search engine friendly (SEF) URLs are human-readable paths that describe the page they lead to. Instead of exposing a query-heavy address, Joomla can build a route from the site’s menu and content structure. A typical SEF path is easier for a visitor to read and recognize before opening it.
Joomla has two related but separate controls:
- Search Engine Friendly URLs changes Joomla’s generated links to readable routes.
- Use URL Rewriting (previously labeled Use Apache mod_rewrite/URL rewriting) removes
index.phpfrom the visible path when the web server is configured to pass requests through Joomla.
You can use SEF URLs while leaving index.php in the address. URL rewriting is an additional layer, not a prerequisite for the first setting.
Check these prerequisites first
- Administrator access: You must be able to open Global Configuration and save site settings.
- Know the web server: Establish whether the site runs on Apache, Nginx, or another server. If you cannot identify it, ask your hosting provider before changing rewrite settings.
- Access to the Joomla root (Apache): Renaming
htaccess.txtrequires access to the directory containing Joomla’s files. - Virtual-host access (Nginx): The
try_filesdirective belongs in the Nginx server configuration, which is usually controlled by the host rather than Joomla Administrator. - A safe test point: If possible, test on a staging copy or during a maintenance window. Keep a way to return to the previous configuration if a rewrite change causes errors.
SEF is a routing change, so test more than the home page. Plan to open several menu items and articles after each save.
#1 Best Overall
Enable Search Engine Friendly URLs
- Sign in to Joomla Administrator.
- Open System.
- Under Setup, select Global Configuration.
- Choose the Site tab.
- Scroll to the SEO section.
- Set Search Engine Friendly URLs to Yes.
- Click Save or Save & Close.
At this point Joomla should generate readable routes from the site’s content and menu structure. Open several menu links and at least a few article pages in a new browser tab. This confirms that the setting was saved and that the routes being generated by the site resolve correctly.
If the addresses are readable but still contain index.php, that is expected until the separate URL-rewriting configuration is completed.
Remove index.php with Apache
1. Rename Joomla’s distributed rewrite file
In the Joomla installation root, rename htaccess.txt to .htaccess. The leading dot is part of the filename; do not leave the file as htaccess.txt or create a second extension.
This file supplies the per-directory rules Joomla needs when Apache handles URL rewriting. Renaming it alone does not guarantee that Apache will apply the rules: the server must also permit overrides for that directory.
Rank #2
2. Confirm that Apache permits overrides
Apache must allow the Joomla directory to use its .htaccess directives. The relevant virtual-host or directory configuration needs an AllowOverride setting that permits those overrides. If the host controls Apache configuration, ask the provider to confirm that overrides are enabled for the Joomla document root.
Also confirm that Apache’s rewrite module is available. Joomla’s older administrator wording refers specifically to Apache mod_rewrite; the newer wording is simply Use URL Rewriting.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errors3. Turn on Joomla URL rewriting
- Return to System → Global Configuration → Site.
- In SEO, leave Search Engine Friendly URLs set to Yes.
- Set Use URL Rewriting to Yes. On some Joomla installations this appears as Use Apache mod_rewrite/URL rewriting.
- Click Save or Save & Close.
Open representative menu items and articles again. Successful pages should now use the readable route without index.php.
If Apache pages fail after the change
Immediately set Use URL Rewriting back to No and save. That rollback leaves SEF URLs available while disabling the server-dependent layer that is failing. Then check, in order:
Rank #3
- The file is named exactly
.htaccessand is in the Joomla root. - Apache is allowed to read per-directory overrides for that root.
- The rewrite module is enabled.
- The host’s virtual-host rules do not override or conflict with Joomla’s rules.
After the host corrects the server configuration, enable URL rewriting again and retest several links rather than assuming one successful page proves the whole site works.
Remove index.php with Nginx
1. Add a front-controller route
Nginx does not process Apache .htaccess files. The Nginx server block must route requests that are not existing files or directories to Joomla’s front controller. A standard pattern is:
try_files $uri $uri/ /index.php?$args;
Place that directive in the appropriate Nginx server configuration for the Joomla site, then reload Nginx using the procedure provided by your host or system administrator. Shared hosting customers commonly need the provider to make this change.
2. Enable both Joomla switches
- Open System → Global Configuration → Site.
- Under SEO, set Search Engine Friendly URLs to Yes.
- Set Use URL Rewriting to Yes.
- Save the configuration.
Test menu links and article links. If the Nginx route is missing or points somewhere else, Joomla may not receive the request correctly; disable Use URL Rewriting until the server rule is corrected.
Rank #4
Apache and Nginx configurations compared
| Server | Joomla settings | How index.php is removed |
Server configuration required |
|---|---|---|---|
| Apache | Search Engine Friendly URLs = Yes; Use URL Rewriting = Yes | Apache applies Joomla’s rewrite rules | Rename htaccess.txt to .htaccess; permit directory overrides and ensure the rewrite module is available |
| Nginx | Search Engine Friendly URLs = Yes; Use URL Rewriting = Yes | Nginx routes requests to Joomla’s front controller | Add try_files $uri $uri/ /index.php?$args; in the site’s server configuration |
Both servers use the same Joomla administrator switches. The difference is where the routing rule lives: Apache can use Joomla’s .htaccess, while Nginx requires a server-block rule.
Should you add a suffix such as .html?
Joomla’s Add Suffix to URL option is optional. It appends a suffix such as .html to generated routes, but it is not required for SEF operation or for removing index.php. Joomla’s documentation notes that search engines do not appear to care whether URLs end in .html.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Choose one URL policy and keep it consistent. If your existing site already publishes one format, changing suffix behavior changes the visible addresses and should be treated as a deliberate migration rather than a cosmetic toggle. If you do not have a specific policy requiring a suffix, leaving the option off keeps the route shorter.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How to test the change safely
Test the administrator setting
- Reopen Global Configuration and verify that Search Engine Friendly URLs still shows Yes after saving.
- Open the home page and several top-level menu items.
- Open articles reached through different menus, not just one sample article.
Test Apache rewriting
- Confirm that the address no longer displays
index.php. - Open a direct article URL in a fresh browser tab, rather than arriving only through an internal click.
- If an error appears, turn Use URL Rewriting off, restore service, and check the filename, overrides, and rewrite module before trying again.
Test Nginx rewriting
- Verify that the server block contains the Joomla
try_filesroute. - Reload Nginx through the host’s documented process.
- Open several menu and article URLs directly after enabling the Joomla setting.
- If requests fail, disable Joomla URL rewriting while the server rule is reviewed.
Check more than one content path
Menu structure and content determine the readable route, so a single working link is not enough to validate a site-wide change. Test representative menu items and articles, including content reached through different menu branches. Extensions can also affect routing; if only one extension’s links fail, isolate that extension’s route while the core Joomla URLs continue to work.
Best Value
Troubleshooting decision guide
Readable URLs work, but index.php remains
SEF is enabled, but URL rewriting is not active. On Apache, check the .htaccess filename, override permission, and rewrite module. On Nginx, add or correct the try_files directive. Then enable Use URL Rewriting and test again.
Errors appear immediately after enabling URL rewriting
Turn the Joomla URL-rewriting switch off and save. The failure indicates that the web-server layer is not ready or its rules are incorrect. Confirm the server type, correct the Apache or Nginx configuration, and only then re-enable the switch.
Recommended Free Tools
You do not know whether the site uses Apache or Nginx
Do not guess and enable a server-specific configuration blindly. Ask the hosting provider which web server handles the Joomla site and whether you can use .htaccess overrides or edit the Nginx server block. The provider can also confirm whether rewrite support is enabled.
Only some links fail
Start with Joomla core menu items and articles to determine whether the server route works generally. Then check the menu path and any extension responsible for the failing link. Because SEF routes are built from menu and content structure, an extension or custom route can behave differently from a standard article link.
Recommended order for a production site
- Identify the web server and confirm who controls its configuration.
- Enable Search Engine Friendly URLs and test readable routes while
index.phpmay still be present. - Prepare the server layer: rename
htaccess.txtand verify Apache overrides, or add the Nginxtry_filesrule. - Enable Use URL Rewriting.
- Test the home page, multiple menu items, and multiple articles directly.
- If errors occur, disable URL rewriting, correct the server rule, and repeat the tests.
- Decide separately whether Add Suffix to URL fits the site’s long-term URL policy.
This sequence keeps the Joomla setting and the server rewrite layer distinct, making it clear which change caused a problem and giving you a straightforward rollback.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

