Windows: どうしても、日本語文字を含んだパスをドキュメントルートに指定したい場合
最終更新:
シンボリックリンクを設定することで対応させます。
シンボリックリンク作成
# コマンドプロンプト (管理者として実行) mklink /d c:\website\local.example.com c:\日本語を\含む\パス # PowerShell (管理者として実行) New-Item -ItemType SymbolicLink -Path c:\website\local.example.com -Value c:\日本語を\含む\パス
(参照: 機能を強化された Item コマンドレットを使ってシンボリック リンクを操作する | MSDN)
例: ドキュメントルートの指定
バーチャルホストの設定での例を挙げます。
# C:\xampp\apache\conf\extra\httpd-vhosts.conf (XAMPPの場合) # 以下を追記する <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/website/local.example.com" ServerName local.example.com <Directory "C:/website/local.example.com"> # htaccessの動作のために必要 AllowOverride All # SSI、CGIそれぞれの動作のために必要 Options +Includes +ExecCGI Require all granted </Directory> </VirtualHost>
# C:\Windows\System32\drivers\etc\hosts (管理者権限で開く) # 以下を追記する 127.0.0.1 localhost 127.0.0.1 local.example.com
その後、Apacheを再起動します。
XAMPPの場合は、管理者権限で開いたコントロールパネルで、Apacheを一旦Stop
させてStart
します。
(注意) NAS内のフォルダへのシンボリックリンクをPC内に作成する場合
シンボリックリンクは下記のように各PC内に作成します。
# コマンドプロンプト (管理者として実行) mklink /d c:\website\local.example.com \\nas\日本語を\含む\パス
なお、NAS内にシンボリックリンクを置くことはできませんでした。
下記のようなメッセージが表示されます。
mklink /d \\nas\website\local.example.com \\nas\日本語を\含む\パス ファイルまたはディレクトリが再解析ポイントではありません。
ネットワークドライブの割り当て
を行ってもダメでした。
mklink /d z:\website\local.example.com z:\日本語を\含む\パス ファイルまたはディレクトリが再解析ポイントではありません。
なお、管理者でもネットワークドライブを認識できるようにする方法は下記に従いました。