Exclude specific url from nginx rewrites

February 23, 2016 23.9k views
LEMP Nginx WordPress

I have a wordpress with a prosites plugin .
This plugin has a url like this domain.com/pro-sites/?bid=digit .
But this url goes to domain.com/pro-sites/ and ?bid=digit removed .
I exclude this url from nginx rewrites .

1 comment
1 Answer

In order to exclude a specific path from a rewrite directive, put the rewrite inside of a location block and create another location block for the specific path. E.g:

server {
    listen 80 default;
    server_name example.com;
    root /var/www/html/;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;

    location / {
        # An example rewrite
        rewrite ^/(.*)$ /index.php?param=$1 last;

    location /pro-sites/ {
        # Do nothing. 
Have another answer? Share your knowledge.