web-dev-qa-db-ja.com

XAMPP仮想ホストが機能しない

これを回答済みとマークする前に、全体を読んでください。はい、これらの質問にはかなりの数がありますが、まったく回答が得られなかったためです。

過去6か月間、XAMPP仮想ホストを動作させるために、こことWebの周りで約50の異なるフォーム投稿を調べてきました。

ホストファイル

127.0.0.1       localhost
127.0.0.1       vws.localhost
127.0.0.1       instancegaming.net
127.0.0.1       vws.instancegaming.net

http-vhostsファイル(7/26更新)

 # 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.

 #
 # Use name-based virtual hosting.
 #
 # NameVirtualHost *:80
 #
 # 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>
    ServerName localhost
    DocumentRoot "C:\xampp\htdocs"
    <Directory "C:\xampp\htdocs">
      DirectoryIndex index.php
    </Directory>
 </VirtualHost>

私は何をすべきか途方に暮れています、私はすべてのフィールドをlocalhostに置き、次にinstancegaming.netに入れようとしましたが、何も機能しないようです。 Apacheのログを読んだところ、SSLエラーのみが発生しています。

[http://] vws.localhost、vws.192.168.0.47、vws.instancegaming.netに移動しようとすると、Chromeで同じエラーが発生します。

ERR_NAME_NOT_RESOLVED

次に、Chromeのホストキャッシュを空にしてみましたが、それも役に立ちませんでした。補足:この作業を行うために、XAMPPを4回再インストールしました。

6
Jacob Jewett

XAMPPを使用するWindows環境(7および10をテスト)の場合は、次の手順に従います。

  1. ホストファイルに追加[C:\Windows\System32\drivers\etc]
127.0.0.1       vws.localhost
127.0.0.1       instancegaming.net
127.0.0.1       vws.instancegaming.net
  1. これをhttpd.conf [C:\__Server\Apache\conf]に追加します。 これにはセキュリティ上のリスクがあると言う人もいますが、これなしでは方法を見つけることができませんでした
<Directory />
    AllowOverride none
    Require all granted
</Directory>
  1. これらをhttpd-vhosts.conf [C:\__Server\Apache\conf\extra]に追加します
<VirtualHost *:80>
     ServerName localhost
     DocumentRoot "C:\__Server\htdocs"
     <Directory "C:\__Server\htdocs">
         DirectoryIndex index.php
     </Directory>
 </VirtualHost>

<VirtualHost *:80>
     ServerName tools.com.at
     DocumentRoot "E:\phpStorms\git\tools-class"
     SetEnv APPLICATION_ENV "development"
     <Directory "E:\phpStorms\git\tools-class">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all        
     </Directory>
 </VirtualHost>

 <VirtualHost *:80>
     ServerName laravel.test.com.at
     DocumentRoot "E:\laravel.test.com.at\public"
     SetEnv APPLICATION_ENV "development"
     <Directory "E:\laravel.test.com.at\public">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
 </VirtualHost>

このテンプレート

<VirtualHost *:80>
     ServerName nameInHostsFile
     DocumentRoot "pathOfTheWindowsFileLocationWhichWillBeDocumentRoot"
     SetEnv APPLICATION_ENV "development"
     <Directory "pathOfTheWindowsFileLocationWhichWillBeDocumentRoot">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all      
     </Directory>
 </VirtualHost>

注-1:C:\__Serverの場所にインストールされている私のxampp

注2:私のフォルダ名はlaravel.test.com.atで、E:ドライブE:\laravel.test.com.atにあります

注3:Windowsエクスプローラのアドレスバーからフォルダの場所を常にコピーするので、間違いはありません。

注4毎回httpd-vhosts.confを編集した後は、XAMPPを再起動する必要があります

注5:一意であり、DNSの解決に問題がないように、URL [i.e .com.at]で珍しい部分を使用します。

更新:troubleshoot @ Jacob Jewett

CドライブにXAMPPをインストールした後-

  1. これらの行をhttpd-vhosts.confファイルに追加/追加するだけです
<VirtualHost *:80>
     ServerName localhost
     DocumentRoot "C:\xampp\htdocs"
     <Directory "C:\xampp\htdocs">
         DirectoryIndex index.php
     </Directory>
 </VirtualHost>

<VirtualHost *:80>
     ServerName vws.localhost
     DocumentRoot "C:\xampp\vws"
     SetEnv APPLICATION_ENV "development"
     <Directory "C:\xampp\vws">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all        
     </Directory>
 </VirtualHost>
  1. これをhttpd.confファイルに追加します
<Directory />
    AllowOverride none
    Require all granted
</Directory>
  1. Php [C:\ xampp\php]のPATH変数を追加&slaoチェックPATH変数に他のphpパスがないことを確認します。

  2. xamppを再起動してlocalhostを参照します

14
Atiqur

ここで追加したいことが1つあります。すべてが正しく設定されていると確信している人は、hostsファイル内のエイリアス文字列にアンダースコアを使用しないようにしてください。何らかの理由で、アンダースコアを受け入れることができません。

0
Artorias2718

さらに、ラインが

Include etc/extra/httpd-vhosts.conf

httpd.confで引用符で囲まれていない

0
Tom

私がうまくいくと私が見つけた答えは、hostsファイルのこれに対するものです。

192.168.0.47        localhost somthing.instancegaming.net      
0
Jacob Jewett

Pingは成功したが、仮想ホストがXAMPP 7.3.1およびWindows 10 Proで機能していない場合、問題はWorld Wide Web Publishing Serviceとの干渉である可能性があります。

私のシステムでは、ApacheとMySQLは正常に起動しますが、WindowsサービスでWWWPSサービスを停止するまで仮想ホストを参照できません。仮想ホストはすぐに利用可能になります。 WWWPSが再び開始されると、即座に動作を停止します。

0
wightowl

同様の問題があり、vhostsが機能していません。しかし、私の場合、Hostファイルに権限の問題があることがわかりました。これが誰かのために役立つことを願っています。 hostsファイルは無視されました。トラブルシューティングの方法は?

0
Bikash Waiba