Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress nginx从非www重定向到ssl www_Wordpress_Nginx - Fatal编程技术网

WordPress nginx从非www重定向到ssl www

WordPress nginx从非www重定向到ssl www,wordpress,nginx,Wordpress,Nginx,Ubuntu 16.04, Nginx 1.11.6, PHP7.0.8 我知道这方面有几个问题,但我仍然有问题 此外,这不是一个与管理站点有关的循环的问题,至少现在还不是 我正在使用一个简单的301重定向,它在非WordPress站点上非常有效 ##redirect to www and ssl return 301 https-://www.mydomain.com$request_uri; 但是,这确实重定向到ssl,但没有www 也 在设置>常规>中,WordPress地址和站点地

Ubuntu 16.04, Nginx 1.11.6, PHP7.0.8

我知道这方面有几个问题,但我仍然有问题

此外,这不是一个与管理站点有关的循环的问题,至少现在还不是

我正在使用一个简单的301重定向,它在非WordPress站点上非常有效

 ##redirect to www and ssl
 return 301 https-://www.mydomain.com$request_uri;
但是,这确实重定向到ssl,但没有www

也 在设置>常规>中,WordPress地址和站点地址都设置为

http-://domain.com
如果我将它们更改为
http-://www.domain.com
一切正常,但是我最终需要它成为一个多站点,在这种情况下,他们建议只使用域名

我也有块只为ssl,再次所有这些工作在非WordPress网站预期

server {
    listen      x.x.x.x:443 http2;
    server_name www.domain.com;

我想你必须重写你的重定向代码

用以下格式准备代码

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我想你必须重写你的重定向代码

用以下格式准备代码

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

您的规则适用于apache而不是nginx您的规则适用于apache而不是nginx