[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;