# You might address PHP some other way
upstream php {
server 127.0.0.1:9001;
}
server {
server_name www.example.com example.com;
listen 443 ssl http2;
ssl_certificate /path/fullchain;
ssl_certificate_key /path/privkey;
# the index.php?$args is for wordpress, you can remove it
try_files $uri $uri/ /index.php?$args;
# Single URL
location = /index.php {
# plus other PHP settings and parameters
fastcgi_pass php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# Every other URL
location / {
return 301 http://www.example.com$request_uri;
}
# Run PHP scripts
location ~ \.php$ {
# plus other PHP settings and parameters
fastcgi_pass php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
# Insecure server
server {
server_name www.example.com example.com;
listen 80 default_server;
# the index.php?$args is for wordpress, you can remove it
try_files $uri $uri/ /index.php?$args;
location = /index.php {
return 301 https://www.example.com/index.php;
}
location / {
root /var/www/site;
}
location ~ \.php$ {
# plus other PHP settings and parameters
fastcgi_pass php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
尝试这样的事情应该接近工作。我还没有测试它,所以可能会有错别字,但它至少应该给你一些指导。