XAMPP: ネットワークドライブをドキュメントルートに指定する方法
※NASとネットワークドライブを混同していたので、該当箇所を修正しました。
なお、題名はそのままにしています。
XAMPP導入前の状況
- ひとつのLAN内で開発している。
- 全てのファイルはNASに保管している。
- ブラウザでHTMLの表示確認をする場合は、Webサーバを通さずにファイルとしてアクセスしている。
- Chrome: fileスキーム (ホスト特有のファイル名)を使用。
file://network-drive/日本語の/フォルダ/index.html
- IE: UNCを使用。
\\network-drive\日本語の\フォルダ\index.html
- Chrome: fileスキーム (ホスト特有のファイル名)を使用。
- PHPやPerlの動作確認は、リモートのテスト用領域にアップロードして行っている。
XAMPP導入の目的
注意点
NASであるかどうかに関わらず、そもそも日本語文字を含むパスはドキュメントルートに指定できません。
英数字だけのパスとなる場所に移すのがよいと思います。
または、下記を参考にしてください。
指定の方法
NASの場合は、スキームなしのURIで指定します。
(2連続のスラッシュから始まる形式)
例: //network-drive/project1
ドキュメントルートの指定方法は以下の3種類の方法があります。
複数のサイトを管理するにはエイリアスかバーチャルホストを使います。
本番のURLと同じ階層構造になるように設定します。
通常のドキュメントルート
URL例: http://localhost/index.html
# C:\xampp\apache\conf\httpd.conf の243行目付近 DocumentRoot "//network-drive/project1" <Directory "//network-drive/project1"> # 以下略
エイリアス
URL例: http://localhost/project1/index.html
# C:\xampp\apache\conf\httpd.conf の335行目付近 <IfModule alias_module> Alias /project1/ "//network-drive/project1" <Directory "//network-drive/project1"> # htaccessの動作のために必要 AllowOverride All # SSI、CGIそれぞれの動作のために必要 Options +Includes +ExecCGI Require all granted </Directory> # 以下略
バーチャルホスト
URL例: http://local.project1/index.html
# C:\xampp\apache\conf\extra\httpd-vhosts.conf # 以下を追記する <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "//network-drive/project1" ServerName local.project1 </VirtualHost> <Directory "//network-drive/project1"> # htaccessの動作のために必要 AllowOverride All # SSI、CGIそれぞれの動作のために必要 Options +Includes +ExecCGI Require all granted </Directory>
# C:\Windows\System32\drivers\etc\hosts (管理者権限で開く) # 以下を追記する 127.0.0.1 localhost 127.0.0.1 local.project1