XAMPP Apache 站点根相关链接在本地工作,通过 LAN 上的远程计算机访问开发站点时失败

Posted

技术标签:

【中文标题】XAMPP Apache 站点根相关链接在本地工作,通过 LAN 上的远程计算机访问开发站点时失败【英文标题】:XAMPP Apache site-root-relative links work locally, fail when accessing dev site via remote machine over LAN 【发布时间】:2012-09-19 17:13:32 【问题描述】:

我正在尝试在一台服务器计算机上设置多个站点开发区域,然后通过 LAN 处理来自其他计算机的内容。 (请原谅我的问题的一般措辞,该网站一直阻止我输入示例 URL 等)

当我直接在服务器机器上工作时,输入

my-virtual-host-name:port# 

作为 URL,一切都很好。它正确地将所有链接、图像引用等解析为相对于站点根目录。

当我通过我们的局域网从另一台机器连接时,输入

server-ip-address:port# 

我被自动重定向到默认的 XAMPP 欢迎页面(所以我至少连接到服务器)

我想出了如何设置别名语句,例如

server-computer-ip-address:port#/alias-for-file-path 

让我进入我网站的主页。但随后当我点击链接时,例如

/products-services 

我想去的地方

server-ip-address/alias-for-file-path/products-services

它改为解析为

server-ip-address/products-services 

运行 Apache 服务器的计算机上的相关设置

IP地址:192.168.22.12

在 Windows 主机文件中:127.0.0.1 localhost mySiteName

在 httpd-vhosts.conf 中:

NameVirtualHost *
  <VirtualHost *>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
  </VirtualHost>
  <VirtualHost *>
    DocumentRoot "D:\companysites\newproducts\mysite"
    ServerName mySiteName
  <Directory "D:\companysites\newproducts\mysite">
    Order allow,deny
    Allow from all
  </Directory>

</VirtualHost>

在 httpd.conf 中(将备用端口分配给 Apache,因为 80 否则会使用):

听着 3399

尝试了一堆这里没有详细介绍的东西,试图弄清楚如何正确定义服务器机器和远程机器虚拟主机定义和url设置的某种组合,以及到目前为止的大量网络搜索和零运气!

【问题讨论】:

【参考方案1】:

目前您已设置好所有虚拟主机都在监听同一个连接。所有端口的相同ip。 *

【讨论】:

【参考方案2】:

我终于明白了!希望这对其他人有用且清楚! (我是新手,所以对其他人来说可能很明显 - 有一些我不明白的基本事情现在做了......)

在 httpd-vhosts.conf 文件中,您可以:

    创建任意数量的“Listen”语句,每个语句都有一个唯一的端口号。所以,例如。

    听8885

    听8886

    听8887

    然后您可以创建任意数量的 VirtualHost 定义部分,将上述端口之一与每个相关联,例如:

    NameVirtualHost *
 <VirtualHost 192.168.22.11:3399>
   DocumentRoot "C:\xampp\htdocs"
   ServerName localhost
 </VirtualHost>
 <VirtualHost 192.168.22.11:3388>
   DocumentRoot "file-system/path"
   ServerName mySiteName
 <Directory "file-system/path">
   Order allow,deny
   Allow from all
 </Directory>

</VirtualHost>

    从远程计算机连接到服务器时,不能使用别名服务器名称和/或别名文件路径名称的任意组合(至少,对我不起作用 -如果有办法,我很想知道)。相反,始终输入 ip-address:port#,例如,输入,作为服务器计算机上定义的子域之一的 URL:

    192.168.22.11:3399

【讨论】:

以上是关于XAMPP Apache 站点根相关链接在本地工作,通过 LAN 上的远程计算机访问开发站点时失败的主要内容,如果未能解决你的问题,请参考以下文章

VirtualHost 阻止 XAMPP 声明启动 Apache

为啥我的 CSS 在使用 xampp 的 localhost 中不能正常工作,但在本地或从 Netlify 站点打开相同的文件时工作正常?

将站点从 XAMPP 移动到 Ubuntu Apache 服务器?

在 Apache 上设置虚拟主机(XAMPP、Windows 10)

获取实时 Wordpress 站点的副本,以便在 Linux 上使用 Xampp 在 localhost 上工作

在本地 xampp/apache 服务器上设置 SSL