2017-04-27 8 views
0

site.com(httpsなし)を開くと、サイトは非常にうまく読み込まれましたが、www.example.com(httpsなし)を開くと、nginXのようこそが開きますが、これは必要ありません。urlがwww.example.comwww.site.comをsite.comにNginXでリダイレクトする方法は?

注:サイトには「https」があり、site.comを開くとhttps://example.comにリダイレクトされます。

注:https://www.example.comを開くと、サイトは正しく読み込まれますが、URLがwww.example.comまたはhttps://www.example.com,の場合、リダイレクトされませんでした。

私たちはAWSでubuntuを使用しています。

答えて

0

オプションごとに別々のサーバーを定義しましたか? 下記のスニペットの例を参照してください。 あなたの質問はthis questionthis questionと非常に似ていますが、どちらも私がここに貼り付けてコピーしないほど多くの情報を持っています。

このリンクはまた creating-nginx-rewrite-rules

server { 
    listen 80; 
    listen 443 ssl; 
    server_name www.domain.com; 
    return 301 $scheme://domain.com$request_uri; 
} 

server { 
    listen 80; 
    server_name domain.com; 
    # here goes the rest of your config file 
    # example 
    location/{ 

     rewrite ^/cp/login?$ /cp/login.php last; 
     # etc etc... 

    } 

}

$方式はプロトコル(HTTPまたはHTTPS)で、$ REQUEST_URIが引数を含む完全なURIで役立つかもしれません。これを行うには

1

私は、here見られるようにリターン301を追加し、あなたのnginxの設定ファイル(通常では/ etc/nginxの/サイト対応/あなた-例-config)を編集するようなものをお勧めします:

server { 
    listen 80; 
    listen 443; 
    server_name www.example.com example.com; 
    return 301 https://example.com$request_uri; 
    #[...ssl settings go here, certs etc....] 
} 
server { 
    listen 443; 
    server_name example.com; 
    # [...ssl and main settings go here...] 
} 

これにより、すべてのリクエストが返されます。https://example.com

関連する問題