[wordpress & nginx]子页面404和https配置


server {
    listen    80;
    listen [::]:80;
    server_name www.example.com;
    return 301  https://$server_name$request_uri;
}
server
    {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name www.example.com;
    index index.php index.html;
    root /home/wwwroot/www.example.com;
    ssl on;
    ssl_certificate /home/wwwroot/www_example_com.crt;
    ssl_certificate_key /home/wwwroot/example.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS;
    ssl_prefer_server_ciphers on;
        #error_page   404   /404.html;
        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
        include enable-php.conf;
    #from nginx wordpress not working;
    include wordpress.conf;                                 #Check wordpress.conf
        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
        location ~ /.well-known {
            allow all;
        }
        location ~ /\.
        {
            deny all;
        }
        access_log  /home/wwwlogs/access.log;
    }
include vhost/*.conf;
}
location / {
    #try_files $uri $uri/ /index.php?$args;
    try_files $uri $uri/ /index.php?q=$uri&$args;   #重点
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;