エックスサーバーでサブドメインも日本語にする方法
前回の記事で
お名前.comで登録したドメインをエックスサーバーで利用できるようになりました。
今回は、エックスサーバーでサブドメインを利用する方法です。
単純にサブドメインを日本語で作ろうとしたらエラーが出てしまったので
その回避法も紹介していきます。
サーバーパネルでの設定
サブドメインを日本語にする
サブドメインの利用
サーバーパネルでの設定
サーバーパネルで、追加したドメインを選択し、設定するボタンを押します
右上に現在の設定対象ドメインが正しく選択されているか確認しましょう
次にドメインの中からサブドメイン設定を選択
サブドメインの追加設定タブを選択してください
サブドメインに追加したいサブドメインを入力し、サブドメインの追加をクリックします
サブドメインを日本語にする
普通にサブドメインに日本語を打ち込んでしまっては、エラーが出てしまいます
そこで、Punycodeで変換した文字列を入れることで回避できたので紹介します。
サブドメインで利用したい文字列を↓の変換サイトで変換します
日本語ドメインの場合は、Punycode(ピュニコード)によって変換されています
xn--から始まります(例:xn--t8j4aa4n)
このサイトでPunycode変換を確認できます
http://punycode.jp/
正規化後 | : | 暇つぶし |
Punycode | : | xn--68jza6c1963a |
その出てきたコードを入力して登録すると、うまく日本語で登録する事ができます
これで確認ボタンを押すとドメインが追加されます。
サブドメインの利用
新しく作成したサブドメインは、メインのフォルダの中のpublic_htmlフォルダ内に
今回作ったサブドメイン名のフォルダが出来ていますので、そこを利用します。
example.jpというドメインに abc.example.jpというサブドメインを作った場合
FTPでログインして/example/public_html/abc/が abc.example.comのホームになります
登録が終わってそのままの状態では、example.com/abcでも同じページが表示されてしまうので
これを修正したいと思います
abc.example.comに example.com/abc でアクセスできないようにするには
このままでは新しく作ったサブドメインは、サブディレクトリと同じ扱いなので
.htaccessというアクセス制限のファイルを利用して example.com/abcからアクセスできないようにします
こちらの方法はエックスサーバーの公式サイトに書いてありましたので引用します
■.htaccessファイルの設置先
example.jp/public_html/abc/■記述内容(下記は abc.example.jp でのアクセスのみ許可する、という意味になります。)
——————————————–
SetEnvIf Host “^abc.example.jp$” host
order deny,allow
deny from all
allow from env=host
——————————————–
この4行を/example.jp/public_html/abc/.htaccessに書き込めばOKです
こちらの設定を大雑把に説明します
1行目 SetEnvIf Host “^abc.example.jp$” host
もしHostがabc.example.jpだったら envにhostと書き込む
“^abc.example.jp$”の^は先頭という意味 $は末尾
つまり ”abc.example.jp”以外は全て一致しません
example.jp/abc/にアクセスすると Hostが”example.jp”になるので一致しません
2行目 order deny,allow
アクセス制限の順番です
denyは拒否 allowは許可
deny,allowとなっているので 拒否ルールの後に許可ルールを適用という事です
3行目 deny from all
これが拒否ルールです from allなので 全てのアクセスを拒否します
4行目 allow from env=host
許可ルールです
envがhostと一致すると許可されます