経験知ロゴ

日々の経験を知識として発信するブログ

Nginxで「www」有り、無しのURLを統一する方法

nginx
スマートフォン用ブラウザのSafariなどには、アドレスバーに直接URLを入力すると自動的に「www」を付けてしまうブラウザがあります。

例えば、このブログのURL

keikenchi.com

と入力すると

www.keikenchi.com

にアクセスしてしまうのです。僕のブログでは「www」付きのアクセスの設定をしていなかったので、エラーが表示されていました。
ウェブページにアクセスできません

ユーザビリティやアクセスアップのためにURL周りの間口はしっかりしておいたほうが良いので、Nginxで「www」がある場合、無い場合でもアクセスできるようにする方法を紹介します。

サブドメインの設定

まず、ドメイン管理会社のホームページで「www」付きでのアクセスをできるようにする。

ムームードメインの場合は「ムームードメインでサブドメインを設定する方法」の方法で「www」をサブドメインに設定。

「www」付きURLから「www」を外す

「default.conf」を開く。

$ sudo vi /etc/nginx/conf.d/default.conf

下記コードを通常のサーバ設定の上に追加する。(example.orgを自分のURLにする)

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

追加後はこんな感じになる。

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

server {
    listen       80;
    server_name  example.org;
    …通常のサーバーの設定が続く
}

「www.example.org」でアクセスしてきたら「http://example.org」に301でリダイレクトしてパラメータも渡すという処理を行う。

保存したらサーバを再起動

$ sudo service nginx restart

「www」無しURLに「www」を追加する

先ほどの逆バージョン。変更後はこんな感じ。

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

server {
    listen       80;
    server_name  www.example.org;
    …通常のサーバーの設定が続く
}

保存したらサーバを再起動

$ sudo service nginx restart

「www」有り、無しどちらでもアクセスできるようにする

「www」有り、無しどちらでもアクセスできるようにする設定はこんな感じ。

server {
    listen       80;
    server_name  example.com www.example.com;
    ...通常のサーバーの設定が続く
}

server {
    listen       80 default_server;
    server_name  _;
    return       301 http://example.com$request_uri;
}

保存したらサーバを再起動

$ sudo service nginx restart

わからないことは人に聞こう

プログラミングをする上で、わからないことはネットなどを使い自分で調べる技術が必要ですよね。

時間がかかっても、ある程度のことは解決できます。

しかし、どうしても答えにたどり着けなかったり、探す時間が惜しいときもあります。

そこでオススメなのが無料登録でプログラミングに関する質問ができるテラテイルです。

質問の投稿にコードも投稿できるので、自分のコードを投稿して問題のある箇所を指摘してもらうことができます。

プログラマーには、自分で探す技術も必要ですが、人に聞く技術は更に重要です。

登録無料で質問できますので、テラテイルで質問する力を磨いてみましょう!

おわりに

「www」付きのULRでアクセス出来ないことに気付いたのはWordCamp Tokyo 2014(WordCamp Tokyo 2014 へ行ってきたよレポート)の懇親会で、名刺交換していただいた方に指摘されて気付きました。

名刺交換してすぐにこのiPhoneでブログにアクセスして頂いた所、ページが表示されず、原因もすぐに突き止め教えて頂きました。

普通に生活していたら絶対に気づかないことですので、改めて懇親会に参加したり、他の人に直接ブログを見てもらう大切さを実感しました。

▼この記事をシェアできるリンク


▼このブログをフォロー・RSS購読できるリンク