Enabling Search Engine Friendly (SEF) URLs on Nginx

From Joomla! Documentation

Revision as of 06:42, 16 August 2011 by Oc666 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<translate> Search engine friendly (SEF), human-readable or clean URLs are URLs that make sense to both humans and search engines because they explain the path to the particular page they point to. Since version 1.5, Joomla! is capable of creating and parsing URLs in any format, including SEF URLs. This does not depend on URL rewriting executed by the web server, so it works even if Joomla! runs a server other than Apache with the mod_rewrite module. The SEF URLs follow a certain fixed pattern, but the user can define a short descriptive text (alias) for each segment of the URL.

Internally, the local part of a SEF URL (the part after the domain name) is called a route. Creating and processing SEF URLs is therefore referred to as routing, and the relevant code is called a router. </translate>

This article addresses SEF URLs under the popular, open-source Nginx webserver.

Joomla 1.6 Since Joomla! 1.6, basic SEF urls are enabled by default. Joomla 1.5 In prior versions you need to use the Global Configuration to enable them. The instructions below still apply if you want to use Apache's mod_rewrite/URL rewriting.

Please add the next code to your server (vhost) configuration in nginx.conf file:

        # Support Clean (aka Search Engine Friendly) URLs
        location / {
                try_files $uri $uri/ /index.php?q=$request_uri;