質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • nginx

    818questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

KUSANAGI+nginxでwwwなしをwwwありのURLにリダクレクトさせる設定は?

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 436

munemune

score 5

AWS+KUSANGI+nginxでワードプレスのサイトを運営しています。

例えば、
・https://www.hogehoge.jpというURLに、
・http://www.hogehoge.jpからは自動的にリダイレクトするようkusanagi上の設定ではできていますが、wwwなしの
・https://hogehoge.jp
・http://hogehoge.jp
のURLはまだ自動的にリダイレクトされるように設定できていません。

kusanagi_html_http.confは現状以下のようになっています。
どのようにしたら、wwwなしのこの2つのURLをwwwありにリダイレクトさせることができるか、教えてください。
あと、他の設定ファイル(kusanagi_html_ssl.confとか?)も何か設定しなければいけない場合も合わせてご教授ください。

#=======================================
# www.hogehoge.jp
#---------------------------------------

server {
    listen 80;
    server_name www.hogehoge.jp;
    access_log  /home/kusanagi/kusanagi_html/log/nginx/access.log main;
    error_log   /home/kusanagi/kusanagi_html/log/nginx/error.log warn;

    rewrite ^(.*)$ https://www.hogehoge.jp$request_uri permanent; # SSL ONLY
    charset UTF-8;
    client_max_body_size 16M;
    root  /home/kusanagi/kusanagi_html/DocumentRoot;
    index index.php index.html index.htm;


    rewrite /wp-admin$ $scheme://$host$uri/ permanent;

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

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* /\.well-known {
        allow all;
    }

    location ~* /\. {
        deny all;
    }

    #include templates.d/multisite.conf;

    location ~* /(?:uploads|files)/.*\.php$ {
        deny all;
    }

    location ~* \.(jpg|jpeg|gif|png|css|js|swf|ico|pdf|svg|eot|ttf|woff)$ {
        expires 60d;
        access_log off;
    }

    location ~* /wp-login\.php|/wp-admin/((?!admin-ajax\.php).)*$ {

          satisfy any;
        allow 0.0.0.0/0;
        allow 127.0.0.1;
          deny all;
          auth_basic "basic authentication";
          auth_basic_user_file  "/home/kusanagi/.htpasswd";

        location ~ [^/]\.php(/|$) {

            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            if (!-f $document_root$fastcgi_script_name) {
                return 404;
            }
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_buffers 256 128k;
            fastcgi_buffer_size 128k;
            fastcgi_intercept_errors on;
            fastcgi_read_timeout 120s;

        }

    }

    location ~ [^/]\.php(/|$) {

        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
                return 404;
        }
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_buffers 256 128k;
        fastcgi_buffer_size 128k;
        fastcgi_intercept_errors on;
        fastcgi_read_timeout 120s;

        set $do_not_cache 1; ## page cache
        set $device "pc";

        if ($request_method = POST) {
            set $do_not_cache 1;
        }

        if ($query_string != "") {
            set $do_not_cache 1;
        }

        if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
            set $do_not_cache 1;
        }

        if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
            set $do_not_cache 1;
        }

        if ($http_user_agent ~* " Android |\(iPad|Android; Tablet; .+Firefox") {
            set $device "tablet";
        }

        if ($http_user_agent ~* " Android .+ Mobile |\(iPhone|\(iPod|IEMobile|Android; Mobile; .+Firefox|Windows Phone") {
            set $device "smart";
        }

        fastcgi_cache        wpcache;
        fastcgi_cache_key    "$device:$request_method:$scheme://$host$request_uri";
        fastcgi_cache_valid  200 10m;
        fastcgi_no_cache     $do_not_cache;
        fastcgi_cache_bypass $do_not_cache;

        add_header X-F-Cache $upstream_cache_status;
        add_header X-Signature KUSANAGI;

    }

}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • TaichiYanagiya

    2017/12/26 17:56

    server_name に (www なしの) hogehoge.jp がありませんが、別の .conf で設定していますか?

    キャンセル

  • munemune

    2017/12/26 17:57

    まだ何も設定していません。(別の.confでも設定していません)

    キャンセル

回答 1

checkベストアンサー

+1

server_name hogehoge.jp; が他に設定されていないのであれば、今の設定で http://hogehoge.jp → https://www.hogehoge.jp にリダイレクトされると思うのですが、なりませんでしょうか?

試しに、server_name に www.hogehoge.jphogehoge.jp 2つとも設定して、nginx -t で競合がないか確認ください。

server {
    listen 80;
    server_name www.hogehoge.jp hogehoge.jp;
      (略)

    rewrite ^(.*)$ https://www.hogehoge.jp$request_uri permanent; # SSL ONLY

      (略)
}

また、https://hogehoge.jp → https://www.hogehoge.jp の書き換えは、listen 443 の server {} を新たに設定すればいいと思います。
設定ファイルは、kusanagi_html_ssl.conf に追記してもいいですし、新たに .conf ファイルを作ってもいいです。

server {
    listen 443;
    server_name hogehoge.jp;
      (略)

    rewrite ^(.*)$ https://www.hogehoge.jp$request_uri permanent; # SSL ONLY
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/26 21:13

    ありがとうございました!アドバイス通りに設定して無事解決しました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Codeigniter3.0.1 default_controller の指定について

    Codeigniter2.X系で作成したサイトをCodeigniter3.0.1に移行したいと思っているのですが、 $route['default_controller'] を上手

  • 解決済

    nginxでphpを動かしたい

    ▼やりたいこと nginxでphpを動かしたい。 ▼環境 Vagrantでバーチャルサーバー構築 Ubuntu16.04 Nginx1.10.1 PHP 7.0

  • 解決済

    nginxでindex.htmlが表示できない(404で帰ってくる)。

    前提・実現したいこと ubuntu上でnginxを利用してwordpreessで作成されたサイトを動かそうとしています。 発生している問題・エラーメッセージ wordpr

  • 受付中

    KUSANAGI for ConoHa で Nginx + WordPress + FuelPHP ...

    よろしくお願いいたします。 前提・実現したいこと KUSANAGI for ConoHa にて、Nginx で WordPress と FuelPHP を以下のURLで動か

  • 解決済

    クックブックのインストールのエラーについて

    実現したいこと CakePHPで学ぶ継続的インテグレーションを参考に環境を構築しています。 windows PCに仮想環境を構築し、クックブックのインストールを実行するとエラー

  • 解決済

    nginxでPHPが動作していない?

    EC2のnginxでWordPressを設置しています。 それまでは問題なかったのですが、ALBのヘルスチェックを通そうと試行錯誤しているうちに パブリックIPでアクセスしたと

  • 解決済

    Apacheの設定が反映されない

    Apacheの設定ファイル /etc/httpd/conf にエラーログを吐き出す場所を指定する項目がありますが、下記のようにエラーログを作成して、試しにさ、くらVPSのCentO

  • 解決済

    wordpressを使用する際のnginxの設定

    WordPressをnginxで動かしているのですが、固定ページの表示でハマってしまったので質問です。 以下のnginx.conf(一部)から、 nginx.conf①

同じタグがついた質問を見る

  • nginx

    818questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。