3

Windows 7 で Apache をセットアップして、ローカル開発用にいくつかの仮想ホストを用意しました。
このhttpd-vhosts.confファイルは、すべての仮想ホストに対して次の形式になります。

<VirtualHost *:80>
   ServerName example.dev
   DocumentRoot "C:/Program Files (x86)/Apache2.2/htdocs/example.dev/"  # <--removing the forwardslash here doesn't fix this
</VirtualHost>

Windowshostsファイルには、それぞれに次のものがあります。

127.0.0.1       example.dev

さて、気にexample.devなるのは、アドレスバーに入力するたびに、末尾にスラッシュが追加されてexample.com/. すべての仮想ホストでこれを取得します。単にアクセスするだけでは、末尾のスラッシュは追加されlocalhostません。これは起こりませんlocalhost/: .
大したことではありませんが、気になり、解決策が見つかりません。

何か案は?

4

1 に答える 1

4

追加のスラッシュは、Apache の構成によって発生したり、回避したりすることはできません。これは、Web サーバーへの HTTP POST または GET 要求を作成したブラウザーの HTTP パラメーターを構成しているブラウザーの「機能」です。

www.example.com のホームページをリクエストするために、HTTP ブラウザが生成するコードは次のようになります。

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0

ブラウザは、GET/POST の後にホスト名と文字列を連結したものを表示するだけです。

一部のブラウザーでは表示されない可能性がありますが、HTTP 要求が / を要求しているという事実は変わりません。

localhost の場合はブラウザーのポリシーが異なり、単なるエイリアスです (HTTP の Host: フィールドは localhost ではありません)。

于 2012-09-08T23:10:53.893 に答える