読者です 読者をやめる 読者になる 読者になる

すたらブログ

文系Webプログラマの備忘録

Windows: どうしても、日本語文字を含んだパスをドキュメントルートに指定したい場合

XAMPP

シンボリックリンクを設定することで対応させます。

シンボリックリンク作成

# コマンドプロンプト (管理者として実行)
mklink /d c:\website\local.example.com c:\日本語を\含む\パス

例: ドキュメントルートの指定

バーチャルホストの設定での例を挙げます。

# 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
</VirtualHost>
<Directory "C:/website/local.example.com">
    # 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.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:\日本語を\含む\パス
ファイルまたはディレクトリが再解析ポイントではありません。

なお、管理者でもネットワークドライブを認識できるようにする方法は下記に従いました。