wordpress nginx - 迁移后永久移动301

时间:2017-07-17 13:13:03

标签: wordpress nginx

{
server {
    listen         80;
    server_name    www.example.com example.com;
    return 301 https://www.example.com$request_uri;
}

server { #Redirect https, non-www to https, www
    listen 443 ssl spdy;
    server_name example.com;
    ssl_certificate /var/www/web/example_com.crt;
    ssl_certificate_key /var/www/web/www.expample.com.key;
    return 301 https://www.example.com$request_uri;
}

server {

    # SSL configuration
    listen 443 ssl spdy;

    server_name www.example.com;
    ssl on;
    ssl_certificate /var/www/web/example_com.crt;
    ssl_certificate_key /var/www/web/www.expample.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # do not use SSLv3 ref: POODLE

    root /var/www/web;

    client_max_body_size 20M;

    index index.php;



    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ ^/(protected|framework|themes/\w+/views) {
        deny  all;
    }

    #avoid processing of calls to unexisting static files by yii
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }

    location @bo {
      rewrite ^/bo(.*) /bo/index.php?q=$1;
    }

    location /bo {
            index index.php;
            try_files $uri $uri/ @bo;
            alias /var/www/web/bo;
    }

    location @app {
      rewrite ^/app(.*) /app/index.php?q=$1;
    }

    location /app {
            index index.php;
            try_files $uri $uri/ @app;
            alias /var/www/web/app;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME /var/www/web$fastcgi_script_name;
    }

    # prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.)
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    location ~ /\.ht {
        deny all;
    }

    if (!-e $request_filename) {
        rewrite /wp-admin$ $scheme://$host$uri/ permanent;
        rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
        rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
    }
}



server {
       listen 80;
       listen [::]:80;

        server_name supp.example.com;


        access_log /var/log/nginx/supp.example.com.access.log;
        error_log /var/log/nginx/supp.example.com.error.log;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:3001;
                proxy_redirect off;
        }
}

我在OVH上有一台服务器,我迁移到azure,在app中我有一个wordpress在主根,一个子文件夹在Yii2上有一个应用程序,另一个子文件夹在CodeIgniter上有一个应用程序,当我测试配置时,一切正常,我使用testnew.example.com进行测试,当我进行部署并使用www.example.com时,我在主根(Wordpress网站)上永久性地移动了301,其余的应用程序运行良好。

0 个答案:

没有答案