In Joomla Administrator, open System → Global Configuration → Site, find the SEO section, set Search Engine Friendly URLs to Yes, and save. That creates readable URLs from your menu and content structure. Removing index.php is a separate server-rewrite task: Apache sites need a correctly named .htaccess file and permitted overrides, while Nginx sites need a try_files rule before you enable URL rewriting.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What Joomla SEF URLs do
Joomla calls a clean, human-readable address a search engine friendly (SEF) URL. Instead of exposing a query-string route such as index.php?option=com_content&view=article&id=42, Joomla can build a path from the menu alias, category, and article alias. A typical result might look like /guides/joomla-sef-urls.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Joomla Made Easy: A Step by Step Beginner's Guide to Building Beautiful Websites with Joomla 6 | $36.86 | Buy on Amazon |
| 2 |
|
Joomla! 1.5 Content Administration | $16.54 | Buy on Amazon |
| 3 |
|
The New Real Book | $47.00 | Buy on Amazon |
| 4 |
|
Joomla! Search Engine Optimization | $29.99 | Buy on Amazon |
| 5 |
|
Joomla ! Poche Pour les Nuls | $11.60 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
SEF is primarily a routing and readability setting. It does not guarantee a ranking increase, a traffic lift, or faster pages; official Joomla documentation does not publish an authoritative percentage for any of those outcomes. The practical benefits are descriptive links, easier sharing, and a URL structure that can match the way visitors navigate your site.
There are two settings that are often confused:
- Search Engine Friendly URLs: Joomla generates readable routes from menu and content aliases.
- Use URL Rewriting: The web server sends requests through Joomla without showing
index.phpin the address.
You can use SEF URLs without removing index.php. For example, a site may produce /index.php/guides/joomla-sef-urls with SEF enabled but rewriting disabled. To get /guides/joomla-sef-urls, the server layer must be configured correctly.
#1 Best Overall
Before changing the settings
Make these checks before touching a production site. They prevent a Joomla configuration change from being mistaken for a hosting or extension failure.
- Confirm that you can sign in to Joomla Administrator and have permission to edit Global Configuration.
- Identify whether the site is running on Apache, Nginx, or another web server. If you manage only Joomla and not the server, ask the hosting provider; shared hosting often hides this detail.
- Take a backup of the database and Joomla files, or make the change on a staging copy first.
- Record several existing URLs and the menu items that generate them. You will use those links for testing after each change.
- Check whether an extension, security layer, or host-level redirect already controls canonical URLs. Two systems trying to rewrite the same path can create loops or 404 responses.
Enable Joomla SEF URLs in Global Configuration
The administrator switch is the same whether or not you later remove index.php.
- Sign in to Joomla Administrator.
- Open System.
- In the Setup section, select Global Configuration.
- Choose the Site tab.
- Scroll to the SEO section.
- Set Search Engine Friendly URLs to Yes.
- Click Save or Save & Close.
- Open the front end in a private browser window and test a menu item, a category page, and an article. Confirm that the address now uses aliases rather than a long query string.
Joomla builds the path from the active menu item and the aliases assigned to menu items, categories, and articles. If two items have similar aliases, Joomla may add a suffix to keep the route unique. Edit aliases carefully: changing one changes the public URL unless you preserve the old address with a redirect.
Remove index.php on Apache
Apache uses a directory-level configuration file to pass extension-free requests to Joomla. Do this server preparation before turning on Joomla’s URL-rewriting option.
1. Rename Joomla’s distributed rules file
In the Joomla installation directory, locate htaccess.txt and rename it to .htaccess. The leading dot matters, and the file must be in the web root that contains Joomla’s index.php. On hosts with a file manager, enable “show hidden files” before checking that the renamed file is present.
2. Confirm Apache allows overrides
The Apache virtual-host or directory configuration must permit the .htaccess rules to load. The relevant setting is commonly an AllowOverride value that permits the required directives. If the host has disabled overrides, Joomla cannot apply the distributed rules even when the filename is correct. Ask the provider to enable the necessary override permissions for the Joomla directory rather than editing a file that Apache ignores.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRank #2
3. Check the rewrite module and document root
Apache must have its rewrite module available, and the virtual host must point to the directory where Joomla is installed. A correctly named file in a parent or unrelated directory will not rewrite requests for the site.
4. Turn on Joomla URL rewriting
- Return to System → Global Configuration → Site → SEO.
- Leave Search Engine Friendly URLs set to Yes.
- Set Use URL Rewriting to Yes. Older Joomla wording may refer to this as Use Apache mod_rewrite.
- Save the configuration.
- Test the representative links you recorded, including a nested category or article URL.
When the server rules are working, the visible path no longer contains index.php. If the site immediately returns 404 errors or a server error, switch Use URL Rewriting back to No while you correct Apache’s module, override permissions, document root, or file name. Do not leave a known-broken rewrite setting enabled on a production site.
Configure SEF routing on Nginx
Nginx does not read Apache .htaccess files. The equivalent routing belongs in the site’s server block, normally managed by the host or server administrator.
Use a front-controller route
A typical Nginx route sends a requested file or directory directly when it exists and passes everything else to Joomla’s front controller:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemstry_files $uri $uri/ /index.php?$args;
Place the rule in the appropriate Nginx server configuration for the Joomla site, then validate and reload Nginx using the procedure required by your distribution or host. The exact surrounding configuration, PHP-FPM socket, TLS settings, and document root are environment-specific; do not copy a complete virtual host from an unrelated server.
Enable the Joomla switches after the server rule
- Open System → Global Configuration → Site → SEO.
- Set Search Engine Friendly URLs to Yes.
- Set Use URL Rewriting to Yes and save.
- Test the home page, a menu item, a category, an article, and a deliberately nonexistent path.
If Nginx is managed by your hosting company, send the provider the required Joomla route and ask them to confirm that requests are forwarded to Joomla’s index.php. Uploading an .htaccess file will not substitute for a server-block rule on Nginx.
Rank #3
- Used Book in Good Condition
Which configuration should you use?
| Configuration | Visible example | Server work | When it fits |
|---|---|---|---|
| SEF off | index.php?option=com_content&view=article&id=42 |
No SEF setting or rewrite preparation | Temporary troubleshooting or a legacy site that cannot change routes |
| SEF on, URL rewriting off | /index.php/guides/joomla-sef-urls |
Only Joomla Administrator settings | When readable paths are wanted but the host cannot yet support rewriting |
| SEF and URL rewriting on (Apache) | /guides/joomla-sef-urls |
Rename htaccess.txt, permit overrides, and provide Apache rewrite support |
Apache installations where you control or can request directory configuration |
| SEF and URL rewriting on (Nginx) | /guides/joomla-sef-urls |
Add a server-block try_files route and reload Nginx |
Nginx installations administered through the host or server team |
| Other server | Depends on the platform | Use that platform’s front-controller equivalent | Sites on IIS, reverse proxies, or managed stacks where Joomla cannot edit server rules |
The table separates the two layers deliberately: readable aliases come from Joomla, while hiding index.php depends on the web server. A server that cannot route extension-free requests can still run Joomla with SEF enabled and index.php visible.
Should you add a suffix such as .html?
Add Suffix to URL is optional. Enabling it makes article-style routes end in a suffix such as .html; leaving it off produces extension-free paths. Joomla documentation states that search engines do not appear to care whether a URL ends in .html, so choose one pattern for consistency rather than expecting a ranking benefit.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Decide before publishing many links. A suffix change alters the address of existing pages and can create duplicate paths or broken bookmarks unless old URLs are redirected. If a site already has a stable policy, keep it. If you are starting a new site, extension-free paths are usually simpler to maintain, but either consistent choice can work.
Test the change safely
Do not test only the home page. Joomla routes can work for one menu item and fail for another because of nesting, aliases, language settings, or an extension’s custom router.
- Menu links: Open top-level and nested menu items in a logged-out browser.
- Content: Test an article, a category blog or list, and a featured or landing page.
- Methods: Check normal links, browser refreshes, and direct pastes of the clean URL.
- Assets: Confirm that CSS, JavaScript, images, and downloadable files still load. Relative asset paths can expose a template problem after route depth changes.
- Methods and forms: Submit a search form, login form, or contact form if the site uses one; verify that its action points to a valid route.
- Canonical behavior: Check that the preferred URL is the one Joomla and any SEO extension output, and that HTTP-to-HTTPS or www redirects do not bounce between variants.
- Error handling: Visit one intentionally invalid path and confirm that Joomla’s normal 404 page appears rather than a blank server error.
Clear Joomla, template, extension, and reverse-proxy caches after a configuration change if the old links continue to appear. Test again in a private window so an administrator session or cached redirect does not hide a problem.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Fix common SEF and rewrite failures
Every clean URL returns 404 after enabling rewriting
First set Use URL Rewriting to No. If the same pages work with /index.php/ visible, Joomla’s routing is functioning and the server rule is the likely fault. On Apache, verify the file is exactly .htaccess, is in Joomla’s root, and is being read because overrides are permitted. Confirm rewrite support is enabled. On Nginx, check that the server block contains the try_files route and that Nginx was reloaded after editing it.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →The home page works but nested pages fail
This usually indicates an incomplete front-controller rule, an incorrect document root, or a subdirectory installation whose base path was not accounted for. Test a static file and a nested Joomla route separately. Ask the host to verify the server block or Apache directory context rather than repeatedly toggling Joomla settings.
index.php still appears
Confirm that Search Engine Friendly URLs is on and that Use URL Rewriting is also on. On Apache, check the filename and override permission; on Nginx, check the server rule. Also inspect the menu item that generated the link: an old cached page or a hard-coded template link can continue to display the previous form even after Joomla generates new routes.
You see a redirect loop
Look for competing rules in the host, CDN, security extension, and Joomla configuration. Common conflicts include an HTTP-to-HTTPS redirect that disagrees with a proxy’s forwarded protocol, or two systems trying to add and remove the same suffix. Disable the newest rewrite layer temporarily, identify which response adds the redirect, then keep one authoritative rule for each transformation.
CSS or images disappear on deeper URLs
Inspect the browser’s network panel for the failed asset path. A template using relative references may resolve an asset relative to the new directory-like URL. Correct the template or asset base path; do not disable SEF merely to conceal a broken relative reference.
Only one extension or component fails
Third-party components can implement their own routers and may not support every menu arrangement. Reproduce the failure with Joomla’s core content first, then check that component’s current routing options and documentation. Keep the component’s menu item published and assigned to the intended access level, and avoid creating two menu items with the same alias and language context.
The site cannot be edited directly
On managed or shared hosting, provide the host with the server type, Joomla installation path, and the desired front-controller behavior. Joomla’s own guidance is to ask the provider when the server or configuration is uncertain. Keep SEF enabled if it works, and postpone removal of index.php until the provider confirms the rewrite layer.
Best Value
Changing an existing site’s URL policy
Turning SEF on for a new site is low-risk compared with changing a site that already receives visitors. Before changing established URLs, export or list important pages and decide which old address should lead to each new one.
- Build the new structure on staging and verify menu aliases, categories, languages, and extensions.
- Keep the old-to-new mapping for pages that have external links or bookmarks.
- Deploy the Joomla setting and server rule during a period when you can monitor logs and test immediately.
- Use permanent redirects for deliberately changed page addresses, while avoiding broad rules that redirect every path to the home page.
- Review server and Joomla 404 logs for missed routes, then correct individual aliases or redirects.
Do not change the suffix, aliases, menu hierarchy, and domain redirects all at once unless you have a tested mapping. Isolating changes makes it possible to identify whether a failure comes from Joomla routing or the web server.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Joomla labels you may see
Interface wording can vary slightly by Joomla release. The setting is consistently located under Global Configuration → Site → SEO. The rewrite control may be labeled Use URL Rewriting in newer wording or Use Apache mod_rewrite in older documentation and installations. The function is the same: it tells Joomla to generate URLs on the assumption that the server will route requests without the visible index.php.
If the labels are missing, you may be editing a different configuration screen, using a restricted administrator account, or running an extension that replaces the standard administrator template. Use the core Global Configuration screen and confirm that you are changing the Site tab, not the System or Server tab.
A compact rollout checklist
- Administrator access confirmed.
- Server identified as Apache, Nginx, or another platform.
- Backup or staging copy available.
- Search Engine Friendly URLs set to Yes.
- Menu, category, and article links tested before rewriting.
- Apache:
htaccess.txtrenamed to.htaccess, overrides permitted, rewrite support available. - Nginx:
try_files $uri $uri/ /index.php?$args;added to the correct server block and Nginx reloaded. - Use URL Rewriting enabled only after the server route is ready.
- Suffix choice recorded and kept consistent.
- Front-end links, assets, forms, redirects, and a 404 page checked while logged out.
Following that order keeps Joomla’s readable-route setting separate from the server change that hides index.php. If rewriting breaks the site, turn that single option off, restore service, and correct the server rule before trying again.
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.
Free tools Windows power users keep installed
One-click scans. No signup required.

