背景・課題
Xserverでは、ドメインごとに 公開ルート(document root)を任意のディレクトリに変更することができません。
そのため、public_html 直下にさまざまなファイルやディレクトリが溜まり、
- どれが実際のサイトデータか分かりにくい
- リニューアル時の切り替えや整理がしづらい
- 誤って別用途のファイルを触ってしまうリスクがある
といった問題が発生しがちです。
解決策の概要
サイト本体をサブディレクトリに配置し、.htaccess で内部的にマッピングすることで、
URLはそのままに、実体ファイルだけを任意のディレクトリに集約できます。
ディレクトリ構成例
/public_html/
├─ .htaccess
├─ tools/
├─ dev-tools/
└─ act3inc.com/
├─ index.php
├─ assets/
└─ ...
- アクセスURL:
https://act3inc.com/ - 実体パス :
/public_html/act3inc.com/
実装方法(.htaccess)
RewriteEngine On
RewriteRule ^$ act3inc.com/ [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} !^/act3inc\.com/
RewriteRule ^(.*)$ act3inc.com/$1 [L]
まとめ
Xserverの制約を理由にディレクトリ構成を諦める必要はありません。
.htaccess を使えば URLはルートのまま、実体は自由なディレクトリに配置できます。