簡體   English   中英

Nginx運行Wordpress錯誤地將www重定向到非www

[英]Nginx Running Wordpress Redirecting www to non-www by mistake

我有一個Nginx服務器(1.4.1)在Wordpress中運行網站。 它會自動將www.mysite.com重定向到mysite.com,而無需任何特定的規則。 如果它是最初輸入的,我希望它停止並保留www。

您能否檢查一下我的配置並讓我知道可能是什么原因? 如果我在圖像文件上對其進行測試,則不會發生重定向,但是在php文件上會發生重定向...

server {
    listen   80;
    server_name www.mysite.com mysite.com;
    access_log /logs/mysite.com/access.log;
    error_log /logs/mysite.com/error.log crit;
    root   /home/sites/mysite.com/;

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

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_intercept_errors off;
    }
}

fastcgi_params:

fastcgi_param   QUERY_STRING            $query_string;
fastcgi_param   REQUEST_METHOD          $request_method;
fastcgi_param   CONTENT_TYPE            $content_type;
fastcgi_param   CONTENT_LENGTH          $content_length;

fastcgi_param   SCRIPT_FILENAME         $request_filename;
fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
fastcgi_param   REQUEST_URI             $request_uri;
fastcgi_param   DOCUMENT_URI            $document_uri;
fastcgi_param   DOCUMENT_ROOT           $document_root;
fastcgi_param   SERVER_PROTOCOL         $server_protocol;

fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;

fastcgi_param   REMOTE_ADDR             $remote_addr;
fastcgi_param   REMOTE_PORT             $remote_port;
fastcgi_param   SERVER_ADDR             $server_addr;
fastcgi_param   SERVER_PORT             $server_port;
fastcgi_param   SERVER_NAME             $server_name;

fastcgi_param   HTTPS                   $https;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param   REDIRECT_STATUS         200;

我認為您的問題不是nginx,而是wordpress配置,請轉到wordpress設置,並確保您的網站URL沒有www。 檢查http://yourdomain.com/wp-admin/options-general.php

這行代碼不是說應將兩者都用作您網站的正確地址嗎?

server_name www.mysite.com mysite.com;

嘗試使用此配置,它將導致任何子域的所有流量,而沒有子域的流量進入www.mysite.com對應對象。

server {
    listen          80;
    server_name     mysite.com *.mysite.com;
    return          301 $scheme://www.mysite.com$request_uri;
 }

server {
    listen          80;
    server_name     www.mysite.com;

    index           index.html;
    root            /home/mysite.com;
}

哦,不要只是復制/粘貼,而是將其調整為您的服務器設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM