サイトで利用可能な.conf
ファイルの1つに次の設定があります。blog.example.com
を押すと、ghost
ブログをロードするように設定されます。
なんらかの原因でexample.com
もブログを提供しています。しかし、それでも結構です。
<Virtualhost *:80>
ServerName blog.example.com
ServerAdmin [email protected]
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/
</Virtualhost>
phpmyadmin
をインストールしたところ、http://example.com/phpmyadmin
でアクセスできないことに気付きました。そのページにアクセスすると、代わりにゴーストの404ページが見つかりません。
だから私はいくつかの条件付きのProxyPass
を無視する必要があると思います/phpmyadmin
?
以下も試してみましたがうまくいきません。
<Virtualhost *:80>
ServerName blog.example.com
ServerAdmin [email protected]
ProxyPass /phpmyadmin http://localhost/phpmyadmin
ProxyPassReverse /phpmyadmin http://localhost/phpmyadmin
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/
</Virtualhost>
Apacheがハングするだけで、http://example.com/phpmyadmin
を押したら再起動する必要があります。
更新:
以下を試してみたところ、phpmyadmin
ログインページが表示されました。 localhostの後に:80
を追加しました。 *
ではなく、仮想ホストの特定のドメイン名を指定します。
<Virtualhost blog.example.com:80>
ServerName blog.example.com
ServerAdmin [email protected]
ProxyPass /phpmyadmin http://localhost:80/phpmyadmin
ProxyPassReverse /phpmyadmin http://localhost:80/phpmyadmin
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/
</Virtualhost>
問題は、代わりにhttp://localhost/phpmyadmin/index.php?token=8fa78a71a166399749b58cd3cb66b7f2
にリダイレクトすることです。おそらくphpmyadmin
を使った設定だと思います。
!
ターゲットを使用して、場所がプロキシされるのを防ぐことができます。
<Virtualhost *:80>
DocumentRoot /path/to/parent/of/phpmyadmin
ProxyPass /phpmyadmin !
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/
</Virtualhost>
これにより、phpmyadminへのリクエストを除くすべてのリクエストがlocalhost:2368
にプロキシされます。
もちろん、ドキュメントルートを設定する必要があります。そうしないと、phpmyadminが見つかりません。