Syonoloyの中に構築したWebサーバへのアクセスの基本系はWordPressフォルダを指定した下記になります。
例)https://nw.myds.me/oldies/
しかしSynologyの「仮想ホスト」機能を使うと下記の様に「ドメイン名」だけにする事ができます。
例)https://nw.myds.me/
この様な使い方を「仮想ホストの名前ベース」と呼びます。
下記にその設定方法を解説します。
1.DSM7.1系で仮想ホストを作成する
下記はDSM7.1系での仮想ホストの作成方法で、DSM7.2系は[項番2]を参照して下さい。
1.下記のWeb Stationを起動します。
2.左ペインにある「Webサービスポータル」を実行します。
表示された下図画面の「作成」ボタンを挿入します。
表示された下記画面の[仮想ホスト]をクリックします。
表示された下記画面を設定します。
①名前ベースを選択します。
②ホスト名:DDNS又はDNSを入力します。
例)nw.myds.me
[次へ]のボタンで先に進み、表示された下記画面を設定します。
①「参照」ボタンを挿入しnw.muds.meが来た時に実行させる「フォルダ」を選択します。
②▼ボタンを挿入し、バックエンドサーバに何を利用するか?を選択します。
③PHPを選択後▼ボタンを挿入し利用するPHPを選択します。
[次へ]ボタンで先に進み、「作成」ボタンで仮想ホストの作成を行います。
下記が表示されます。
以上で「https://nw.myds.me」のアクセスが来ると「oldies」フォルダに転送されます。
2.DSM7.2系で仮想ホストを作成する
DSM7.2系は[Webサービスポータル]が[Webサービス]と[Webポータル]に分かれた事により[仮想ホスト]作成メニュが無くなってしまいました。
そこで下記の方法で仮想ホストを作成します。
1.下記のWeb Stationを起動します。
2.左ペインにある「Webサービス」を実行します。
表示された下図画面の「作成」ボタンを挿入します。
表示された下記画面の[仮ネイティブなスクリプト言語ウェブサイト]を選択し、[サービス欄]で利用するPHPのバージョンを選択すると、右側の欄に[スクリプト言語の設定]で設定したプロファイルが表示されるので、利用するプロファイルを選択します。
[次へ]で先に進むと[ドキュメントルート]と[バックエンドサーバ]を設定する画面が表示されます。
①名前は英数小文字、[-]、[_]で指定します。フォルダ名が良いと思います。
②説明は任意名称で漢字も利用できます。仮想ホストが良いと思います。
③[参照]ボタンを挿入して、転送するフォルダを選択します。
④HTTPバックエンドサーバは▼からバックエンドサーバに何を利用するか?を選択します。
[次へ]で先に進み[作成]ボタンを挿入すると新しい[WEBサービス]が作成されます。
3.左ペインにある「Webポータル」を実行します。
表示された下図画面の「作成」ボタンを挿入します。
表示された下記画面の[Webサービスポータル]を選択します。
表示された下記画面に[サービス]と[ホスト名]を指定します。
①▼をクリックし、Webサービスで作成したドキュメントルートのプロファイルを選択します。
②名前ベース
③ホスト名の所にドメイン名を指定します。
作成ボタンを挿入すると下記が表示されます。
以上で「https://ec01.t-spirits.com」のアクセスが来ると「ec01」フォルダに転送されます。
3.補足事項
ここでは仮想ホスト機能を利用した場合の注意点を記載します。
1.htaccessファイル
始めから仮想ホスト機能でWordPressを構築している場合は下記の問題はありません。
しかし[Search-Replace-DBでURLを変更する]等の方法でフォルダ指定からドメイン名指定の仮想ホスト機能に切替えた場合は、.htaccessファイルも修正する必要があります。
例)フォルダのoldies等を開いて「.htaccess」を呼び出して下記の様に変更します。
<修正前>
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /oldies/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /oldies/index.php [L] </IfModule> # END WordPress
上記はここにアクセスがきた場合は「/oldies/」フォルダに行きなさい!を定義しています。
<修正後>
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
■RewriteBaseの所を「/」だけにします。
■RewriteRule の所のフォルダ指定の所を削除します。
仮想ホストはダイレクトにここにアクセスが来るのでフォルダ指定は不要になります。
2.wp-config.phpファイル
CloudfflareのCDNの概念図は下図になります。
CloudflareのCDNは
■クライアントとCloudflare間
httpsでIPv4/IPv6の両方からのリクエストを受け付けます。
■CloudflareとSynologyサーバ間
Cloudflareの暗号を使って[http://IPアドレス]で通信します。
フォルダ指定[http://IPアドレス/フォルダ名]の場合は、下記の問題はありません。
しかし仮想ホスト指定の場合は[wp-config.php]の中で通信はhttpsですよ!と宣言する必要があります。
これが無いと画像が表示できない問題が発生します。
$_SERVER['HTTPS'] = 'on'; define('FS_METHOD', 'direct');
■1行目が通信はhttps通信を宣言する構文です。
■2行目はWordPressの更新をダイレクトに行う通常の指定になります。
入れる場所は何処でも良いですが、普通は先頭に入れて下さい。