【问题标题】:How to set virtual host in xampp?如何在xampp中设置虚拟主机?
【发布时间】:2021-08-30 17:18:51
【问题描述】:

我尝试在 xampp 中为我的网站设置虚拟主机。为此,我将主机文件设置为:

127.0.0.1           siteurl

我在 httpd-vhosts.conf 文件中添加代码:

<VirtualHost *:80>
      ServerAdmin webmaster@localhost.com
      DocumentRoot "C:/xampp/htdocs/foldername"
      ServerName siteurl
      <Directory />
        AllowOverride none
        Require all denied
      </Directory>
</VirtualHost>

然后将 siteurl 放入浏览器中,然后我得到了 xampp 仪表板。如何通过输入我的站点 URL 来获取我的网站。 你能帮帮我吗?

【问题讨论】:

  • 您的设置似乎正确。检查您的 apache httpd.conf 以查看您的 httpd-vhosts.conf 是否包含或注释掉。如果该行以# 开头,则删除#。然后重启apache
  • 没有。它已经包含在 httpd.conf 文件中
  • DNS 被缓存。更新主机文件后尝试在命令窗口中运行ipconfig /flushdns
  • 请分享更多细节。您是否正确重新启动服务器,以便读取更改的配置?
  • 我得到了这个答案

标签: php xampp


【解决方案1】:

您是 Directory 需要您的 DocumentRoot 的绝对路径,并且您正在关闭该标签,请删除 /。此外,Windows 在根路径中需要 \ 而不是 /。我还为测试开放了一些权限。您的似乎非常严格,可能会导致启动和运行出现问题

<VirtualHost *:80>
      ServerAdmin webmaster@localhost.com
      DocumentRoot "C:\xampp\htdocs\foldername"
      ServerName siteurl
      <Directory "C:\xampp\htdocs\foldername">
        Require all granted
        AllowOverride All  
        # AllowOverride none 
        # Require all denied
      </Directory>
</VirtualHost>

另外,当您更新 hosts 文件时,您需要清除 DNS 缓存,这通常会在您重新启动时发生,但您也可以在命令窗口中运行此命令:

ipconfig /flushdns

【讨论】:

  • 我尝试使用此代码,但这对我不起作用。再次显示同一页面
  • 你重启了apache吗?
  • 好的,我更新了答案。您的路径需要使用反斜杠。请更改并重新启动 apache
  • 我也试过这些代码,但没有改变
  • 嗯.. 这些都是破坏交易的错误。您确定您的 vhosts 文件正在加载吗?尝试运行这些位于此处的命令行测试:*.com/a/7568100/1772933
【解决方案2】:

我更改了我的 xampp 版本。我的文件不支持我以前的版本。这就是原因。感谢您的支持

【讨论】: