How to Redirect URL on Nginx

Redirect URL on Nginx

Redirecting URLs is a common practice in web development to ensure users are directed to the correct page or location. NGINX, a popular web server, provides powerful tools for URL redirection. In this comprehensive guide, we will explore the concept of URL redirection, learn how to configure URL redirects in NGINX and discuss advanced techniques, HTTP status codes, redirecting to HTTPS, and best practices for effective URL redirection.

Understanding URL Redirection

What is URL Redirection?

URL redirection refers to the process of forwarding one URL to another. It is useful for various purposes, such as redirecting outdated or broken links, managing website migrations, enforcing SSL/TLS, or directing users to a specific page or location.

Types of URL Redirection

There are two common types of URL redirection: permanent (301) and temporary (302). Permanent redirects inform search engines that the original URL has permanently moved, while temporary redirects indicate a temporary move or maintenance.

Configuring URL Redirection in NGINX

Step 1. Installing NGINX

Before configuring URL redirection, ensure NGINX is installed on your system. Use the package manager or compile NGINX from the source, following the official documentation for your Linux distribution.

Step 2. Understanding NGINX Configuration

NGINX configuration files are located in the /etc/nginx directory. Familiarize yourself with the main configuration file (nginx.conf) and the server block configuration files (sites-available/default or custom files).

Step 3: Redirecting URLs with NGINX

To redirect URLs, use the rewrite directive in the NGINX configuration. The rewrite directive allows you to define redirection rules based on regular expressions or specific paths.

Step 4: Testing the Redirects

After configuring URL redirects, test them to ensure they function as expected. Use a web browser or command-line tools like curl to access the original URL and verify if it redirects to the desired destination.

Advanced Redirect Techniques in NGINX

Redirecting Specific Paths or Files

NGINX allows you to redirect specific paths or files to different locations. By specifying the desired URL path in the rewrite directive, you can redirect users to a specific page while preserving the domain.

Redirecting with Regular Expressions

Regular expressions provide flexibility in defining complex URL redirection rules. Utilize NGINX’s regular expression capabilities in conjunction with the rewrite directive to redirect URLs based on patterns.

Preserving Query Parameters in Redirects

Preserving query parameters during URL redirection is crucial to maintain functionality and SEO. NGINX’s rewrite directive automatically carries forward query parameters, ensuring a seamless user experience.

HTTP Status Codes and Redirects

301 Redirect: Permanent Redirect

A 301 redirect is a permanent redirect that informs search engines and clients that the requested URL has permanently moved to a new location. Use a 301 redirect when the original URL should no longer be accessed.

302 Redirect: Temporary Redirect

A 302 redirect is a temporary redirect that indicates the requested URL has been temporarily moved. It is suitable for situations like server maintenance or temporary website changes.

Other HTTP Redirect Status Codes

NGINX supports various HTTP status codes for redirects, such as 303 (See Other), 307 (Temporary Redirect), and 308 (Permanent Redirect). Understand their specific use cases and select the appropriate status code for your redirection needs.

Redirecting to HTTPS

Enforcing HTTPS with Redirects

Redirecting HTTP traffic to HTTPS is essential for security and encryption. NGINX can enforce HTTPS by redirecting HTTP requests to their HTTPS counterparts using the return or rewrite directives.

Redirecting Non-WWW to WWW or Vice Versa

To redirect users from non-WWW to WWW or vice versa, modify the NGINX configuration to redirect requests to the desired version. This ensures consistency in the domain and avoids duplicate content issues.

Best Practices for URL Redirection

Use Descriptive Redirect URLs

Create descriptive and meaningful redirect URLs that clearly indicate the destination. This helps with website maintenance, readability, and search engine optimization.

Test and Monitor Redirects

Regularly test and monitor your URL redirects to ensure they function correctly. Keep track of any errors or unexpected behavior and promptly address them.

Update External Links and Search Engines

After implementing URL redirects, update any external links or references pointing to the old URLs. Additionally, inform search engines of the changes using their respective tools or sitemaps.


URL redirection plays a vital role in web development and maintenance. NGINX provides powerful capabilities for configuring URL redirects, allowing you to manage your website’s traffic, SEO, and user experience effectively. By following the steps outlined in this guide and considering best practices, you can confidently implement and manage URL redirection in NGINX on your Linux system.


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button