xampp上的virtualhost,可从外部设备访问

xampp上的virtualhost,可从外部设备访问,xampp,virtual-hosts,Xampp,Virtual Hosts,我在我的WIN7笔记本电脑上运行XAMPP来开发网站。现在我使用virtualhost和一个修改过的hosts文件,所以我可以通过这个URL访问我的网站“www.thisshouldbeysite.nl”。但它将从我的XAMPP服务器加载 对我本地人来说,这很有效。我可以做我想做的事。但我也希望从外部设备(如智能手机或平板电脑)访问此服务器,以便查看站点在其他设备上的呈现方式。但是在平板电脑浏览器中输入我的XAMPP PC的IP地址会将我带到C:\XAMPP\htdocs目录,我无法访问C:\X

我在我的WIN7笔记本电脑上运行XAMPP来开发网站。现在我使用virtualhost和一个修改过的hosts文件,所以我可以通过这个URL访问我的网站“www.thisshouldbeysite.nl”。但它将从我的XAMPP服务器加载

对我本地人来说,这很有效。我可以做我想做的事。但我也希望从外部设备(如智能手机或平板电脑)访问此服务器,以便查看站点在其他设备上的呈现方式。但是在平板电脑浏览器中输入我的XAMPP PC的IP地址会将我带到
C:\XAMPP\htdocs
目录,我无法访问
C:\XAMPP\htdocs\thishouldbeysite.nl
目录

有人知道我如何配置我的服务器,使其同时工作(本地和远程)吗。远程应在同一个本地网络中

在这里你可以找到我的当前设置

主持人:

127.0.0.1 www.thisshouldbemysite.nl
httpd-vhosts.conf:

<VirtualHost *:80>
  DocumentRoot C:\xampp\htdocs
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot C:\xampp\htdocs\thisshouldbemysite.nl
  ServerName www.thisshouldbemysite.nl
</VirtualHost>

DocumentRoot C:\xampp\htdocs
服务器名本地主机
DocumentRoot C:\xampp\htdocs\thisShouldbeysite.nl
服务器名www.thisshouldbeysite.nl

您是否为虚拟主机尝试了此配置

<VirtualHost *:80>
  DocumentRoot C:\xampp\htdocs\thisshouldbemysite.nl
  ServerName localhost
</VirtualHost>

DocumentRoot C:\xampp\htdocs\thisShouldbeysite.nl
服务器名本地主机

您是否为虚拟主机尝试了此配置

<VirtualHost *:80>
  DocumentRoot C:\xampp\htdocs\thisshouldbemysite.nl
  ServerName localhost
</VirtualHost>

DocumentRoot C:\xampp\htdocs\thisShouldbeysite.nl
服务器名本地主机

我想介绍一些事情,让您了解整个过程,如果您能更好地理解过程的每个部分,那么您可以确定问题所在,从而找到答案

我们需要了解的第一件事是,当您键入域名时,您的浏览器如何知道去哪里。浏览器将检查本地主机文件,然后检查本地DNS缓存,然后向DNS服务器发出请求。DNS服务器由ISP/DHCP自动设置,或在internet连接设置中手动设置。因此,在向域名发出请求时,您的浏览器/操作系统将按顺序检查这些位置,以查找匹配的条目。如果未找到条目,则域名将无法解析

DNS服务器可以有不同类型的条目。它可以告诉你域名所在的位置,它可以告诉你子域所在的位置,它可以将域名指向另一个DNS服务器……这是一个灵活的多用途点,域名可以指向任何地方。此外,根据为域名设置的DNS条目的类型,您的浏览器将自动知道是否需要向另一个DNS服务器询问域名指向的位置,或者它是否是它要查找的最终结果。不正确地设置DNS服务器可能会导致用户陷入DNS循环-其中一个DNS指向另一个DNS,而第二个DNS指向第一个DNS。这类事情很容易搞清楚

Hosts文件基本上类似于一个本地的、手动设置的类似DNS的系统。它允许您说“any.domain”位于“any ip address”。通过这种方式,您可以本地重写或忽略其他DNS资源。这对本地的东西很好,但如果你想通过互联网或许多设备访问东西,我强烈建议使用DDNS服务,我将在下面介绍

---apachevhost文件---

在vhost文件中,我设置了一个默认vhost。这样,如果我输入的IP或域名没有明确定义vhost,我仍然会从我的web服务器得到某种响应。这只是我的偏好,但完全没有必要。设置默认值后,我会显式定义要服务的域/子域

名称虚拟主机*:80

##############本地主机 服务器管理员webmaster@localhost DocumentRoot“D:/xampp/htdocs” 服务器名本地主机

<Directory "D:/xampp/htdocs">
    AllowOverride All
    Order Allow,Deny
    Allow from all
    Require all granted
</Directory>

允许超越所有
命令允许,拒绝
通融
要求所有授权

########othersite.local.which 服务器管理员webmaster@localhost DocumentRoot“D:/xampp/othersite.local.where” ServerName othersite.local.where 允许超越所有 命令允许,拒绝 通融 要求所有授权

保存VHost文件后,重新启动apache。如果apache启动后自动停止运行,那么您的apache config/Vhosts文件中可能有错误。请仔细检查您的工作,在保存所做的每个更改后尝试启动apache,直到它工作为止

---Windows主机文件---

除非您有DNS服务器设置,否则您将需要修改Windows主机文件,以便告诉您的计算机othersite.local.where指向您的apache服务器。此文件的作用是在本地将域名指向ip地址。它不会影响其他计算机,只有这台计算机也在运行您的服务器

主机文件位于C:/windows/system32/drivers/etc/hosts

根据您的windows权限,您可能需要先将主机文件复制到桌面,用记事本或fav文本编辑器打开,进行修改,保存并复制回原始位置。在新行中,添加一个新条目:

127.0.0.1其他站点。本地。任意

将hosts文件保存回C:/windows/system32/drivers/etc/后,您现在应该能够访问服务器计算机上的othersite.local.where而不会出现问题。如果您有其他本地windows计算机,则可以修改其主机文件以指向服务器的ip地址(通常类似于192.168.1.xx),以便这些计算机也可以访问othersite.local.where上的vhost

192.168.1。??othersite.local.which

---通过其他方式解决您的问题---

根据你的需要,你可以做几件事

1) 修改所有windows计算机上的vhost文件,研究如何在其他设备上执行此操作。如果所有设备都认为othersite.local.whatever指向您的服务器,则您的服务器应使用正确的vhost页面进行响应。