0

我试图在一台服务器机器上设置多个站点开发区域,然后通过 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设置的某种组合,以及到目前为止的大量网络搜索和零运气!

4

2 回答 2

0

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

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

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

    听 8885

    听 8886

    听 8887

  2. 然后,您可以创建任意数量的 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>
  1. 从远程计算机连接到服务器时,不能使用别名服务器名称和/或别名文件路径名的任何组合(至少,对我不起作用 - 如果有办法,我会有兴趣知道)。相反,始终输入 ip-address:port#,例如,输入作为服务器计算机上已定义子域之一的 URL:

    192.168.22.11:3399

于 2012-09-28T13:05:19.893 回答
0

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

于 2012-09-27T21:35:31.503 回答