WordPress Permalinks With Nginx

WordPress Permalinks With Nginx

In this tutorial, we will show you how to change WordPress Permalinks With Nginx. For those of you who didn’t know, If you are using WordPress on Apache (with mod_rewrite), WordPress will automatically add the required rewrite rules to your .htaccess file for permalinks to work. But for Nginx, you have to add the rules manually.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step change to WordPress Permalinks With the Nginx web server.


  • A server running one of the following operating systems: Ubuntu or any other Debian-based and RHEL-based.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

WordPress Permalinks With Nginx

Step 1. First, make sure that all your system packages are up-to-date by running the following apt commands in the terminal.

sudo apt update
sudo apt upgrade
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

Step 2. Installing WordPress.

If you do not have WordPress installed on your server, you can follow our guide here.

Step 3. Set Up Custom Permalinks in WordPress.

Before applying this WordPress Nginx Permalinks Rewrite you need to make sure you change your permalink structure from “Day and Name” to “Post name” in the WordPress dashboard.

WordPress Permalinks With Nginx

Step 4. Set Up Custom Permalinks in WordPress with Nginx.

First, open the Nginx configuration file using the following command below:

nano /etc/nginx/conf.d/your-domain.conf

Once you have opened the Nginx configuration file, you will need to add the rewrite rules that will allow Nginx to handle custom permalinks in WordPress. The following is an example of the rewrite rules that you can add to your Nginx configuration file:

location / {
    try_files $uri $uri/ /index.php?$args;

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Once you have added the rewrite rules to your Nginx configuration file, you will need to restart Nginx to apply the changes:

nginx -t
sudo systemctl restart nginx

Congratulations! You have successfully configured the WordPress permalink. Thanks for using this tutorial for configuring WordPress permalink with Nginx in the CentOS system. For additional help or useful information, we recommend you check the official Nginx website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer” installation, starting from $10 (Paypal payment). Please contact us to get the best deal!


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