0

我正在使用安装了 WordPress 的 XAMPP 本地服务器运行 Windows 7。我知道这个工作正常,我用过很多次。我有一个 MySQL 数据库,它位于 htdocs/wordpress 中。

现在,我有一份合同,我正在为另一个 WordPress 主题的某人工作,并希望将其作为一个单独的数据库并安装。所以,我在 htdocs 中创建了另一个文件夹,我们称之为 folder2。然后我在 MySQL 中创建另一个数据库,导入给定的数据库,并创建一个用户来匹配这个安装的 wp-config.php 文件。没问题,除了它指向“localhost/folder2”,我需要它指向“local.folder2.com”以匹配承包商。

所以我在网上搜寻并偶然发现了用于 XAMPP 的 VirtualHosts。我去 /System32/drivers/etc/hosts 并添加域。

127.0.0.1 localhost ## Already here for XAMPP purposes
127.0.0.1 local.folder2.com ## URL to point localhost/folder2 towards

然后我转到 /xampp/apache/conf/extra/httpd-vhosts.conf 并添加必要的虚拟主机。

NameVirtualHost *:80
<VirtualHost *:80>
    DirectoryRoot "C:/xampp/htdocs/folder2"
    ServerName local.folder2.com
</VirtualHost>

我重新启动 Apache 和 MySQL。问题是,现在 local.folder2.com 可以工作,但“localhost/wordpress/”不能。使用该 URL 会将我定向到文件夹 2 的主题和数据库,这完全让我感到困惑。有任何想法吗?我意识到我只能处理一个而不能处理另一个,但是如果我一次有多个客户,那么将其全部切换出去是行不通的。

4

1 回答 1

0

在这种情况下,localhost 停止工作,因为当声明另一个 vhost 时, http ://localhost.com和目录“/htdocs”之间的固有连接不再起作用。解决方案是为原始位置添加一个虚拟主机,然后为新位置添加第二个虚拟主机。简单如:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "C:/xampp/htdocs/wordpress" # Where I had localhost pointing
</VirtualHost>

<VirtualHost *:80>
    ServerName local.folder2.com
    DocumentRoot "C:/xampp/htdocs/folder2"
    <Directory "C:/xampp/htdocs/folder2">
        Allow Override All
    </Directory>
</VirtualHost>

当然,您必须将它们添加到您的主机文件中:

127.0.0.1 localhost
127.0.0.1 local.folder2.com

重新启动 Apache 服务器,一切顺利。

于 2013-12-18T16:56:27.893 回答