Add in WordPress Config File after "define( 'DB_COLLATE', '' );" define('WP_SITEURL', '/blog'); define('WP_HOME', '/blog'); $_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/blog/wp-admin/", $_SERVER['REQUEST_URI']); Add this after above line if your WordPress Blog is Non-SSL if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on'; Nginx Configuration (Main Domain Configuration) location /blog/ { rewrite ^([^.]*[^/])$ $1/ permanent; rewrite ^/blog/(.*)$ /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host blog.domain.tld; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass https://SERVER-IP; proxy_redirect off; }