How to Configure Joomla SEF URLs on Microsoft IIS

Verify the IIS prerequisites

Confirm Joomla works normally on IIS before changing URL rewriting. Microsoft IIS uses web.config rather than Apache .htaccess. Joomla documentation notes that IIS URL rewriting depends on the IIS URL Rewrite module. Verify that the module is installed and visible for the site, and back up the current web.config before making changes.

Enable Joomla SEF routing first

In Joomla Administrator, open System → Global Configuration → Site and enable Search Engine Friendly URLs. Save and test normal navigation. This confirms Joomla can build and parse SEF routes before IIS is asked to hide index.php. Keep URL Rewriting off until the server-side rule is ready.

Use an IIS rewrite rule appropriate for Joomla

Configure IIS URL Rewrite so requests that are not real files or directories are internally routed to Joomla index.php. Use Joomla-provided or host-approved web.config guidance for the installed environment rather than pasting Apache directives into IIS. The rewrite is internal: index.php still exists and remains Joomla’s front controller even when it disappears from the public URL.

Preserve existing web.config settings

A Joomla site can already have web.config sections for PHP, security headers, request filtering, handlers, or hosting controls. Merge the rewrite rule carefully instead of replacing the entire file. XML must remain well formed, and duplicate or conflicting rewrite sections can prevent IIS from loading the site.

Enable Joomla URL Rewriting after IIS is ready

Once the IIS rule is active, enable Use URL Rewriting in Joomla Global Configuration. Test a known menu route immediately. If clean URLs return 404 while index.php URLs still work, the problem is usually in IIS URL Rewrite, the web.config rule, the application path, or server permissions—not in the article alias itself.

Account for virtual directories and reverse proxies

Sites installed as an IIS application below the domain root may need rewrite paths that reflect that application boundary. Reverse proxies and load balancers can also alter the visible host, scheme, or path. Keep canonical HTTPS/host redirects separate from the Joomla front-controller rewrite and avoid rules that repeatedly rewrite their own output.

Test routes and keep a rollback path

Test the home page, nested menu items, articles, categories, pagination, login, media files, Administrator, and a deliberately invalid URL. Confirm static files are served directly and unknown Joomla routes become 404s. If the change fails, turn off Joomla URL Rewriting and restore the backed-up web.config before iterating.


Need More Help with Joomla?

Still having trouble? Open a support ticket with QuantaCade Support and we'll be happy to help where we can.

Support priority is given to QuantaCade products, services, and customers. However, we're also happy to assist fellow Joomla users with general Joomla questions and troubleshooting when possible.

QuantaCade is an independent Joomla extension developer and is not official Joomla support. Some issues involving third-party extensions, hosting environments, server configurations, or other systems outside our development control may be beyond what we're able to resolve.

Open a Support Ticket