Спасибо за любую помощь. Я не серверный парень, но я сейчас имею дело с сервером. У меня есть сайт, который находится в редиректе l oop с www to без www. Я использую DigitalOcean Droplet с Ubuntu и Nginx для SSL. У меня изначально были проблемы с работой SSL, и я создал конфигурацию на основе этого поста в StackExchange: https://wordpress.stackexchange.com/questions/331234/wordpress-redirect-loop-on-nginx-apache-reverse-proxy. Основным отличием, которое я сделал, было использование перенаправления 302 в последнем блоке сервера. Однако кто-то сказал мне изменить его на 301, и теперь я получаю l oop от www to не-www. Ниже приведен мой файл конфигурации.
server {
server_name .mysite.com;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html;
gzip on;
gzip_types application/javascript image/* text/css;
gunzip on;
location ~\.(js|css|png|jpg|jpeg) {
try_files $uri $uri/ =404;
}
location / {
try_files $uri @apache;
}
location ~[^?]*/$ { # proxy directories
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location ~ \.php$ { # serve php files
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location @apache { # used by location /
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
server {
listen 80;
server_name _;
return 301 https://$host$request_uri;
}
Примечание: изменение 301 обратно на 302. Не решило проблему.
Пожалуйста, помогите, спасибо!
Редактировать: I также подтвердили, что в базе данных нет ссылок на www.mysite.com. Я использовал WP-CLI, чтобы найти любой. А URL-адреса дома и сайта всегда были без www.