私はwampバージョン2.5を使用しています。私のApacheは2.4.9です。PHP:5.5.12 MySQL:5.6.17
私はこれらの構成を持っています:
私の_httpd.conf
_
_# Virtual hosts
Include conf/extra/httpd-vhosts.conf
_
私の_G:\wamp\bin\Apache\apache2.4.9\conf\extra\httpd-vhost.conf
_
_# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.Apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual Host
# configuration.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-Host.example.com"
ServerName dummy-Host.example.com
ServerAlias www.dummy-Host.example.com
ErrorLog "logs/dummy-Host.example.com-error.log"
CustomLog "logs/dummy-Host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-Host2.example.com"
ServerName dummy-Host2.example.com
ErrorLog "logs/dummy-Host2.example.com-error.log"
CustomLog "logs/dummy-Host2.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/wamp/www"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "g:\wamp\www\mysite\public"
ServerName mysite.dev
</VirtualHost>
_
私の_c:\Windows\System32\Drivers\etc\hosts
_
_# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
127.0.0.1 mysite.dev
# ::1 localhost
_
私は次のURLを使用してプロジェクトにアクセスしようとします:_http://www.mysite.dev/
_ [〜#〜] but [〜#〜] _Server not found error
_を取得しています_www.mysite.dev
_、_http://mysite.dev
_ですが、まだ運が悪いです!
私の仮想ホストは以前は機能していましたが、なぜ今は機能していなかったのかわかりません。変なことが起こっています。
何が起こっているのかわかりません。どんなアイデアでも大歓迎です!
ありがとう!
まず、vhost-httpd.confファイルから例dummy定義を削除する必要があります。それらは例のみとして存在し、構文を開始するためのものであり、存在しないフォルダーを指しているため、アクティブなconf/extra/httpd-vhosts.conf
に留まってはなりません。
したがって、これらの2つの定義をファイルから削除します。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-Host.example.com"
ServerName dummy-Host.example.com
ServerAlias www.dummy-Host.example.com
ErrorLog "logs/dummy-Host.example.com-error.log"
CustomLog "logs/dummy-Host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "g:/Apache24/docs/dummy-Host2.example.com"
ServerName dummy-Host2.example.com
ErrorLog "logs/dummy-Host2.example.com-error.log"
CustomLog "logs/dummy-Host2.example.com-access.log" common
</VirtualHost>
2番目のApache 2.4.xはIPV4(127.0.0.1)とIPV6(:: 1)に対応しているため、hosts
ファイルは、各サイトのIPV4とIPV6の両方のバージョンの定義を含む次のようになります。ブラウザはどちらかを任意に使用できるため、両方が必要ですが、PCで両方が実際にアクティブである場合は、IPV4よりもIPV6ネットワークを使用することになります。
127.0.0.1 localhost
::1 localhost
127.0.0.1 mysite.dev
::1 mysite.dev
システムに実際に存在する2つの仮想ホストで、これを仮想ホストの定義として試してください。
<VirtualHost *:80>
DocumentRoot "g:/wamp/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
<Directory "G:/wamp/www">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "g:\wamp\www\mysite\public"
ServerName mysite.dev
ServerAlias www.mysite.dev
ErrorLog "logs/mysite-error.log"
CustomLog "logs/mysite-access.log" common
<Directory "G:/wamp/www/mysite/public">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
<Directory>....</Directory>
セクション内の<VirtualHost>....</VirtualHost>
セクションは、Apacheに接続の受け入れを許可するIPアドレスを通知するため、Apache 2.4構文Require local
を使用してアクセスを制限し、WAMPServerを実行するPCのみ、つまりApacheこれらのサイトのいずれかに接続できます。
同じ定義でApache 2.2構文とApache 2.4構文を一緒に使用しないでください。だから使わないで
Order Allow,Deny
Allow from all
そして
Require all granted
同じ定義で。 Apache 2.4を使用しているため、Apache 2.4構文を使用します。
ローカルネットワーク内の他のPCがサイト、つまり同僚や子供などのサイトを参照できるようにしたい場合は、この構文を1つ以上の仮想ホスト定義に追加できます。
サイトに他の1台のPCのみを許可する
Require local
Require ip 192.168.1.100
または他の2台のPC
Require local
Require ip 192.168.1.100, 192.168.1.101
または、ローカルネットワーク上の誰に対しても、IPアドレスの4四分位数の最初の3を使用します。
Require ip 192.168.1
また、どこからでもアクセスできる構文(つまり、.
Require all granted <--Apache 2.4 syntax
or
Order Allow,Deny <-- Apache 2.2 syntax
Allow from all
それはあなたの問題を短期的に解決するかもしれませんが、あなたがあなたのサイトを友人/クライアント/上司に見せたいと決心したときにあなたを捕まえるのを待っているだけです。ポートフォワーディングの段階に到達すると、ルーターがネットワークにネットワークを許可し、ALL OF YOUR SITESが世界中で利用できるようになります。
テスト/自慢するために人々に見てもらいたいONEサイトのONE Virtual Host DefinitionをRequire local
からRequire all granted
に変更し、その単一のサイトのみにインターネットからのアクセスを許可することをお勧めします。
これらの変更をすべて行ったら、Apacheを必ず再起動してください。
また、ホストファイルを変更してchnagesをアクティブにする場合は、再起動するか、Runs as Administrator
オプションを指定して開始したコマンドウィンドウのコマンドラインからこれらのコマンドを実行する必要があります。
net stop dnscache
net start dnscache
Windows 10を使用している場合は、上記のdnsコマンドが機能しない場合は、代わりにこれを行う必要があります。
ipconfig /flushdns
Googleが.dev gTLDを取得したため、.dev開発サイトを持つことは簡単にできなくなりました。軽減する最善の方法は、開発ドメインの名前を.localまたは任意の名前に変更することです。
バックグラウンドで行われるのは、ローカルDNSサーバーがブラウザーを127.0.53.53にリダイレクトし(cmdを開く> nslookup yourdomain.dev)、エンドユーザーに.dev gTLDが取得されたことを通知することです。 hostsファイルの.devドメインが127.0.0.1に設定されているため、接続が拒否されたことを示しています。
Hostsファイルで127.0.0.1を127.0.53.53に変更すると、ブラウザのエラーがERR_CONNECTION_REFUSEDからERR_ICANN_NAME_COLLISIONに変わることがわかります。
以下は私のために働いています
<VirtualHost *:80>
DocumentRoot "G:\project\test.dev"
ServerAdmin [email protected]
ServerName test.dev
ErrorLog "logs/test.dev-error.log"
CustomLog "logs/test.dev-access.log" common
<Directory "G:\project\test.dev">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
Apacheフォルダーのhttpd.confのいくつかの行のコメントを外して、同じ問題を修正します。
以下の行のコメントを外してください:
Include conf/extra/httpd-vhosts.conf
LoadModule vhost_alias_module modules/mod_vhost_alias.so
ファイルを保存し、Apacheを再起動すると動作します。この男に感謝します: https://john-dugan.com/wamp-vhost-setup/
私はこの質問に非常に遅れて来ています。@ RiggsFollyで言及されたすべてのことを行いましたが、変更したことの1つが即座に機能するようにしました。私が変更され .dev
〜.test
as .devは予約されています。お役に立てれば
Httpd.confでコメント化されていないこのモジュールをチェックしてください