1

タイトルについてそれをより適切に説明する方法がわかりません。問題は:

私は自分の仕事で仮想ホストを広く使用していますが、たまにいくつかのファイルを localhost/mysite に平手打ちするだけです

vhost (つまり、mysite.local) を使用する場合、最初の vhost を「すぐに使える」ように設定してから、mysite.local vhost ブロックを配置できます。

<VirtualHost _default_:80>
   DocumentRoot C:/UniServer/www
   ServerName localhost
   ErrorLog "logs/error.log"
   CustomLog "logs/access.log" common
</VirtualHost>

<VirtualHost 127.0.0.1>
ServerAdmin webmaster@localhost
ServerName mysite.local
DocumentRoot "C:/UniServer/www/mysite/public_html/"
SetEnv ENVIRONMENT localhost
</VirtualHost>

しかし、localhost/mysite を使用したい場合は、次のように変更する必要があります。

<VirtualHost localhost:80>
    DocumentRoot C:/UniServer/www
    ServerName localhost
    ErrorLog "logs/error.log"
    CustomLog "logs/access.log" common
</VirtualHost>

Apacheの再起動が含まれているため、これは明らかに苦痛です。

私のhttpd.confは次のように設定されています:

サーバー名 localhost

.htaccess が影響しているようには見えません。誰かがこれについて私にリードを与えることができれば、本当に感謝しています!

編集:mysite.localを使用したい場合は、言及する必要がありましたが、使用できません:

<VirtualHost localhost:80>

私は使用しなければなりません:

<VirtualHost _default_:80>

したがって、両方向に「壊れています」

ありがとう、

ジェフ

4

2 に答える 2

0

まあ、私の顔に卵 - 一種の

<VirtualHost localhost>  for localhost/mysite

<VirtualHost 127.0.0.1> for mysite.local

ポートの有無にかかわらず、一致する限り動作します (両方:80 または両方なし)

しかし

<VirtualHost _default_>  for localhost/mysite

単にうまくいかない、どうしようもない - mysite.localにのみ有効です

これは、hosts ファイルと一緒です: 127.0.0.1 localhost 127.0.0.1 mysite.local

「デフォルト」がそのように動作する理由を誰かが説明できれば興味があります

于 2012-10-06T04:25:14.270 に答える
-1

Windowsでこれを行っているようです。mysite.local VHost の下部にある SetEnv を取り出して、2 つのことを確認する必要があります。

ホスト ファイルまたはローカル DNS に、127.0.0.1 を指す mysite.local のエントリがあることを確認してください。Windows のホスト ファイルは c:\windows\system32\drivers\etc\hosts にあります。

それでもうまくいかない場合は、次のような名前付き仮想ホストに設定されていることを確認してください。

NameVirtualHost *:80

また

NameVirtualHost 127.0.0.1:80 
于 2012-10-06T02:12:56.593 に答える