XAMPP 的多个虚拟主机不工作
Multiple VirtualHosts For XAMPP Not Working
好吧,我已经束手无策了。在一周的大部分时间里,我一直在努力解决这个问题 运行,但我不明白为什么它不起作用。
背景
我有两个 wordpress 站点,一个是开发站点,一个是生产站点。我希望能够在我的本地机器上查看它们。但是,我看到的是,当我输入 local.www.mysite.org 或 local.dev.mysite.org 时,会显示 none 图像。在检查链接时,它们都指向 localhost/image.jpg。我安装了 XAMPP 并且运行良好。这些站点指向正确的数据库,其中包含数据。如果我不使用虚拟主机,该网站将完全正常。
这是我的主机文件中的内容:
主机
127.0.0.1 localhost
127.0.0.1 local.www.mysite.org
127.0.0.1 local.dev.mysite.org
httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/sites/www.mysite.org"
ServerName local.www.mysite.org
ServerAlias local.www.mysite.org
<Directory "C:/sites/www.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/sites/www.mysite.org"
ServerName local.www.mysite.org
ServerAlias local.www.mysite.org
<Directory "C:/sites/www.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
问题
是不是我写错了什么?遗漏了什么?真的不知道我哪里出了问题。
谢谢,
贾斯汀
好吧,终于想通了。这是我的分步指南:
1) 打开 C:\xampp\apache\conf\extra\httpd-vhosts.conf,或者你的 httpd-vhosts.conf 文件所在的任何地方。首先在评论下方输入:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
2) 接下来输入您希望在本地托管的站点。例如:
<VirtualHost *:80>
DocumentRoot "C:/sites/dev.mysite.org"
ServerName local.dev.mysite.org
ServerAlias local.dev.mysite.org
<Directory "C:/sites/dev.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/sites/www.mysite.org"
ServerName local.www.mysite.org
ServerAlias local.www.mysite.org
<Directory "C:/sites/www.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
3) 以管理员身份打开记事本或类似的文本编辑器,然后在该文本编辑器中打开 C:\Windows\System32\drivers\etc\hosts
4) 添加 localhost 条目(如果还没有),然后将 ServerAliases 映射到本地 ip 地址,如下所示:
127.0.0.1 localhost
127.0.0.1 local.www.mysite.org
127.0.0.1 local.dev.mysite.org
5) 最后,登录到您的每个本地 Wordpress 实例并转到设置 > 常规并将 WordPress 地址 (URL) 和站点地址 (URL) 更改为它们各自的 ServerAliases .
好吧,我已经束手无策了。在一周的大部分时间里,我一直在努力解决这个问题 运行,但我不明白为什么它不起作用。
背景
我有两个 wordpress 站点,一个是开发站点,一个是生产站点。我希望能够在我的本地机器上查看它们。但是,我看到的是,当我输入 local.www.mysite.org 或 local.dev.mysite.org 时,会显示 none 图像。在检查链接时,它们都指向 localhost/image.jpg。我安装了 XAMPP 并且运行良好。这些站点指向正确的数据库,其中包含数据。如果我不使用虚拟主机,该网站将完全正常。
这是我的主机文件中的内容:
主机
127.0.0.1 localhost
127.0.0.1 local.www.mysite.org
127.0.0.1 local.dev.mysite.org
httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/sites/www.mysite.org"
ServerName local.www.mysite.org
ServerAlias local.www.mysite.org
<Directory "C:/sites/www.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/sites/www.mysite.org"
ServerName local.www.mysite.org
ServerAlias local.www.mysite.org
<Directory "C:/sites/www.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
问题
是不是我写错了什么?遗漏了什么?真的不知道我哪里出了问题。
谢谢, 贾斯汀
好吧,终于想通了。这是我的分步指南:
1) 打开 C:\xampp\apache\conf\extra\httpd-vhosts.conf,或者你的 httpd-vhosts.conf 文件所在的任何地方。首先在评论下方输入:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
2) 接下来输入您希望在本地托管的站点。例如:
<VirtualHost *:80>
DocumentRoot "C:/sites/dev.mysite.org"
ServerName local.dev.mysite.org
ServerAlias local.dev.mysite.org
<Directory "C:/sites/dev.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/sites/www.mysite.org"
ServerName local.www.mysite.org
ServerAlias local.www.mysite.org
<Directory "C:/sites/www.mysite.org">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
3) 以管理员身份打开记事本或类似的文本编辑器,然后在该文本编辑器中打开 C:\Windows\System32\drivers\etc\hosts
4) 添加 localhost 条目(如果还没有),然后将 ServerAliases 映射到本地 ip 地址,如下所示:
127.0.0.1 localhost
127.0.0.1 local.www.mysite.org
127.0.0.1 local.dev.mysite.org
5) 最后,登录到您的每个本地 Wordpress 实例并转到设置 > 常规并将 WordPress 地址 (URL) 和站点地址 (URL) 更改为它们各自的 ServerAliases .