public_html配下にサブドメインのフォルダーができるレンタルサーバーでwwwを含むURLに統一する

public_html配下にサブドメインのフォルダーができるレンタルサーバーで

public_html
    ├── .htaccess
    └── sub

のように.htaccessファイルを配置した場合、サブドメインのフォルダー(sub)まで設定が反映されてしまう。 上記のようなレンタルサーバーを利用している場合の.htaccessファイルの書き方を忘れないように記録します。

今回.htaccessファイルを使用して、wwwを含むURLに統一するには、以下のコードを追加しました。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

説明

  • RewriteEngine On という行を追加します。これにより、URLのリライトが有効になります。
  • RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC] この行は、URLが”yourdomain.com”で始まっていると条件を満たします。
  • RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] この行は、URLの先頭に”www.”を追加し、リダイレクトを行います。
  • [R=301]は、パーマネントリダイレクトを実行することを意味し、[L]は、ルールの評価を終了することを意味します。
  • [NC]は、ApacheのRewriteCondまたはRewriteRuleディレクティブのフラグの一つです。[NC](Non Case)フラグを使用すると、大文字と小文字を区別しないマッチングが行われます。

これでユーザーが”www”を含まないURLにアクセスした場合、自動的に”www”を含むURLにリダイレクトされます。.

htaccessファイルを変更するときは必ずバックアップを作成ししてから編集することをおすすめします。

次へ

崩れた画面の治し方