具有所有配置的XAMPP虚拟主机站点不起作用

时间:2019-01-19 22:01:37

标签: apache xampp virtualhost

我试图在XAMPP的apache服务器上本地运行网站my.com。这是我在httpd-vhosts.conf文件中的配置,位于路径...\XAMPP\apache\conf\extra中:

<VirtualHost *:80>
    DocumentRoot "D:/IDEs/XAMPP/htdocs"
    ServerName localhost
    <Directory "D:/IDEs/XAMPP/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:/IDEs/Websites/my.com"
    ServerName my.com
    <Directory "D:/IDEs/Websites/my.com">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

我还记得在hosts文件中添加了两行,位于C:\Windows\System32\drivers\etc中:

127.0.0.1   localhost
127.0.0.1   my.com

但是,当我通过链接“ my.com”与启用的apache服务器一起输入时,我只有一个包含文件夹目录的页面,这些页面位于htdocs XAMPP的文件夹中。

我检查了很多视频和stackoverflow问题,但没有任何帮助。 如果您能帮助我解决此问题,我将感到很高兴。

2 个答案:

答案 0 :(得分:0)

首先,您应该在httpd.conf上安排目录

示例:

    <Directory "C:/SERVER~1/web/site1">
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<Directory "C:/SERVER~1/web/site2">
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

然后像这样安排vhosts.conf

示例:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.site1.com
    DocumentRoot "C:/SERVER~1/web/site1"
</VirtualHost>

<VirtualHost *:80>
    ServerName site1.com
    DocumentRoot "C:/SERVER~1/web/site1"
</VirtualHost>

<VirtualHost *:80>
    ServerName www.site2.com
    DocumentRoot "C:/SERVER~1/web/site2"
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.com
    DocumentRoot "C:/SERVER~1/web/site2"
</VirtualHost>

答案 1 :(得分:0)

经过五天的阅读,搜索和尝试之后,我终于找到了解决方案,并按以下步骤进行了解决:

首先,忘记所有文件,而专注于ifstream Tfile("player.txt"); string line; while(getline(Tfile, line)) { cout << line << endl; } 中的httpd-ssl.conf

第二: 找到已注释的“ SSL虚拟主机上下文”行。在下面,找到行D:\IDEs\XAMPP\apache\conf\extra。或类似。然后将其更改为<VirtualHost _default_:443>

第三,将文档根目录更改为xampp的htdocs路径,例如“ D:/ XAMPP / htdocs”。另外,将ServerName从<VirtualHost *:443>更改为localhost。 我们完成了。

最后,在第www.example.com:443行之后,插入代码

</VirtualHost>

<VirtualHost *:443> DocumentRoot "D:/IDEs/Websites/my.com" ServerName my.com <Directory "D:/IDEs/Websites/my.com"> Require all granted </Directory> </VirtualHost> Document Root路径更改为您的网站位置。然后将Servername更改为您的服务器名称。

重新启动

对我有用。

我还了解到有些网站在本地主机上使用SSL,而其他网站则没有。 因此,如果您有类似Directory这样的异常,则可以将您的虚拟主机配置添加到Apache/2.4.37 (Win32) OpenSSL/1.0.2p PHP/7.0.33 Server at my.com Port 443文件中。 如果您喜欢httpd-ssl.conf,请将您的virtualhost配置添加到... Port 80