• I’m using the NginX helper plugin, have my core Ubuntu 16.04 https://www.software-enabled.com site running fine, but don’t appear to be able to get the NginX rewrite or virtual hosts set up right to show the content of my 7 subdirectory sites in my network.

    I have got Lets Encrypt Certs and the https: redirects working for the main site and for the first of my seven subsites (wwww.ianwaring.com), but just get the NginX welcome page for that site – and no content.

    Is there a tutorial anywhere that could help me sort it? Heads a jumble and i’m sure it’s because i’m over thinking it! Site was working fine using 12.04 on Apache, albeit without https connects.

    The page I need help with: [log in to see the link]

Viewing 1 replies (of 1 total)
  • Thread Starter IanWaring

    (@ianwaring)

    sites-available file looks like this:

    ##
    # You should look at the following URL's in order to grasp a solid understanding
    # of Nginx configuration files in order to fully unleash the power of Nginx.
    # https://wiki.nginx.org/Pitfalls
    # https://wiki.nginx.org/QuickStart
    # https://wiki.nginx.org/Configuration
    #
    # Generally, you will want to move this file somewhere, and start with a clean
    # file but keep this around for reference. Or just disable in sites-enabled.
    #
    # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
    ##
    
    #map $http_host $blogid {
    #    default 0;
    #    include /var/www/html/wp-content/uploads/nginx-helper/map.conf;
    #}
    
    map $uri $blogname{
        ~^(?P<blogpath>/[^/]+/)files/(.*)       $blogpath ;
    }
    
    map $blogname $blogid{
        default -999;
        include /var/www/html/wp-content/uploads/nginx-helper/map.conf;
    }
     
    #
    # Default server configuration
    #
    
    server {
        listen 80;
        listen 443 ssl http2;
    
        server_name software-enabled.com www.software-enabled.com 139.59.187.99;
    
        if ( $scheme = "http") {
            return 301 https://$server_name$request_uri;
        }
    
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
    
        # ESSENTIAL : no favicon logs
        location = /favicon.ico { log_not_found off; access_log off; }
        
        # ESSENTIAL : robots.txt
        location = /robots.txt { log_not_found off; access_log off; allow all; }
    
        # ESSENTIAL : Configure 404 Pages
        error_page 404 /404.html;
    
        # ESSENTIAL : Configure 50x Pages
        error_page 500 502 503 504 /50x.html;
    	location = /50x.html {
    		root /usr/share/nginx/html;
    	}
    
        # PERFORMANCE : Set expires headers for static files and turn off logging.
        location ~* ^.+\.(js|css|swf|xml|txt|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|r
    ss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav
    |bmp|rtf)$ {
            access_log off; log_not_found off; expires 30d;
        }
    
        # SECURITY : Deny all attempts to access PHP Files in the uploads directory
        location ~* /(?:uploads|files)/.*\.php$ {
            deny all;
        }
    
        #
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
    	include snippets/fastcgi-php.conf;
    	fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    	}
    
        # Nginx Rewrite rules attempt by Ian W
    
        location / {
    	try_files $uri $uri/ /index.php?$args;
        }
    
        location ~ ^/files/(.*)$ {
            try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?f
    ile=$1 ;
             access_log off; log_not_found off; expires max;
            }
    
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    	 expires 24h;
    	 log_not_found off;
            }
    
        location ^~ /blogs.dir {
    	 internal;
    	 alias /var/www/html/wp-content/blogs.dir ;
    	 access_log off; log_not_found off;      expires max;
            }
    
        if (!-e $request_filename) {
    	 rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    	 rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
    	 rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
            }
    	
        # End of Rewrite Code!
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
    		deny all;
        }
    
        access_log  /var/log/nginx/$host-access.log;
        error_log   /var/log/nginx/wpms-error.log;
    
        ssl_certificate /etc/letsencrypt/live/software-enabled.com/fullchain.pem; # 
    managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/software-enabled.com/privkey.pem; 
    # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    
    }
    
    #
    # Virtual Host configuration for ianwaring.com/www.ianwaring.com
    #
    server {
        listen 80;
        listen 443 ssl http2;
    
        server_name ianwaring.com www.ianwaring.com;
    
        if ( $scheme = "http") {
            return 301 https://$server_name$request_uri;
        }
    
    #    root /ianwaring/;
    #    index index.php;
    
        location ~ ^(/[^/]+/)?files/(?<rt_file>.+) {
    	try_files /wp-content/blogs.dir/$blogid/files/$rt_file /wp-includes/ms-f
    iles.php?file=$rt_file ;
    	access_log off;	log_not_found off; expires max;
        }
    
    #    location / {
    #      try_files $uri $uri/ /index.php?$args;
    #    }
    
    #    location ~ ^/files/(.*)$ {
    #      try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?fi
    le=$1 ;
    #      access_log off; log_not_found off; expires max;
    #    }
    
    #    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    #	expires 24h;
    #	log_not_found off;
    #    }
    
    #   location ^~ /blogs.dir {
    #	internal;
    #	alias /var/www/html/wp-content/blogs.dir ;
    #	access_log off; log_not_found off;      expires max;
    #    }
    
        if (!-e $request_filename) {
    	rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    	rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
    	rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
        }
    
        access_log  /var/log/nginx/$host-access.log;
        error_log   /var/log/nginx/wpms-error.log;
    
        ssl_certificate /etc/letsencrypt/live/ianwaring.com/fullchain.pem; # managed
     by Certbot
        ssl_certificate_key /etc/letsencrypt/live/ianwaring.com/privkey.pem; # manag
    ed by Certbot
    
    }
    
Viewing 1 replies (of 1 total)
  • The topic ‘Subdirectory Multisite using NginX: https only?’ is closed to new replies.