Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mobile WAMPServer,从手机访问服务器_Mobile_Wamp_Virtualhost_Wampserver - Fatal编程技术网

Mobile WAMPServer,从手机访问服务器

Mobile WAMPServer,从手机访问服务器,mobile,wamp,virtualhost,wampserver,Mobile,Wamp,Virtualhost,Wampserver,因此,我设置了一些具有唯一URL的虚拟主机,它们在桌面上运行良好。但是,当我将移动设备连接到网络上时,它似乎无法正确访问除默认本地主机virtualhost之外的任何内容,而这只是在它是我仅有的virtualhost时 我的设置和编码与此基本相同,只是有一个不同的站点标题 虽然该解决方案将我重定向到我的唯一url,但默认wordpress网站上缺少图像 是否有人设法让移动设备完全访问本地主机以外的链接 由于我发布了您引用的答案,我决定采用一种更简单的解决方案 实际问题是什么 因为我们不能像使用

因此,我设置了一些具有唯一URL的虚拟主机,它们在桌面上运行良好。但是,当我将移动设备连接到网络上时,它似乎无法正确访问除默认本地主机virtualhost之外的任何内容,而这只是在它是我仅有的virtualhost时

我的设置和编码与此基本相同,只是有一个不同的站点标题

虽然该解决方案将我重定向到我的唯一url,但默认wordpress网站上缺少图像


是否有人设法让移动设备完全访问本地主机以外的链接

由于我发布了您引用的答案,我决定采用一种更简单的解决方案

实际问题是什么 因为我们不能像使用PC一样摆弄手机的配置,手机永远无法在服务器上的虚拟主机定义中找到我们创建的域名,因为它不存在于任何DNS服务器中,无法在其中定位IP地址,而DNS服务器是手机唯一可以查看的位置,除非是越狱

如果您想从另一台电脑访问一个虚拟主机域,您可以像这样在另一台电脑的主机文件中添加一行

192.168.0.10 example.local
但你不能在手机/平板电脑上做到这一点

Apache希望能够将请求关联到Vhost 当我们创建一个Apache虚拟主机时,实际上是在告诉Apache查看传入连接上的域名,并将该域名与存在于我们的多个虚拟主机定义之一中的
ServerName
匹配

但是,如果我们使用例如
example.local
作为虚拟托管域,当我们尝试从手机连接到该域时,手机会进行DNS查找,但找不到该域,因此无法获取其ip地址

解决这一问题的最简单方法是: 假设我们没有向DNS服务器添加记录的权限,我们必须想出一个不同的解决方案

其中最简单的是使用运行WAMPServer(Apache)服务器的PC的IP地址和特定的端口号。因此,这是一个不同的端口号为我们的每个网站,我们想从一个电话使用

那么我们如何做到这一点呢 将新的侦听端口添加到现有的两条
Listen
语句之后的
httpd.conf

WAMPServer 3:使用菜单执行此操作,而不是在
httpd.conf

right click wampmanager-> Tools -> Add listen port for Apache


#Listen 12.34.56.78:80
Listen 0.0.0.0:80
Listen [::0]:80
Listen 0.0.0.0:8000
Listen [::0]:8000
建议的
httpd vhosts.conf
文件

#
# Virtual Hosts
#

# Always keep localhost, and always first in the list
# this way a ramdom look at your IP address from an external IP
# maybe a hack, will get told access denied
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

# The normal Vhost definition for one of our sites
<VirtualHost *:80>
    ServerName example.local
    DocumentRoot "c:/websrc/example/www"
    <Directory  "d:/websrc/example/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

# Access example.dev from phone for testing
<VirtualHost *:8000>
    ServerName example.local
    DocumentRoot "c:/websrc/example/www"
    <Directory  "d:/websrc/example/www/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
        # assuming yoursubnet is 192.168.0.?
        # allow any ip on your WIFI access
        Require ip 192.168.0      
    </Directory>
</VirtualHost>
#
#虚拟主机
#
#始终保持本地主机,并且始终位于列表的第一位
#这样,ramdom就可以从外部IP查看您的IP地址
#可能是黑客,会被告知访问被拒绝
服务器名本地主机
DocumentRoot c:/wamp/www
选项+索引+跟随符号链接+多视图
允许超越所有
要求本地
#我们其中一个站点的正常Vhost定义
ServerName example.local
DocumentRoot“c:/webrc/example/www”
选项+索引+包含+跟随符号链接+多视图
允许超越所有
要求本地
#从手机访问example.dev进行测试
ServerName example.local
DocumentRoot“c:/webrc/example/www”
选项+索引+包含+跟随符号链接+多视图
允许超越所有
要求本地
#假设您的子网是192.168.0。?
#允许WIFI接入上的任何ip
需要ip 192.168.0
完成这些编辑后,从wampmanager重新启动Apache

现在,您可以使用
ServerName
example.dev
从WAMPServer PC上测试此功能,并使用运行端口号为192.168.0.10:8000的WAMPServer的PC的ip从手机上测试此功能

Apache将从这两个请求中找到正确的代码

如果您希望通过手机访问多个虚拟主机,您只需重复此想法并更改每个新站点的端口号,假设您将使用800180028003等来访问任意多个站点

您可能还必须修改防火墙,以允许访问端口8000上的http,或您选择使用的任何端口


它的结果与第一个解决方案相同(加载页面但没有图像),但我想我现在知道为什么了。当我在台式电脑上设置虚拟主机并安装wordpress时,所有链接都与原始服务器名集成。因此,当我尝试在手机上访问它时,手机会不断尝试使用ip访问所有内容,而不是使用服务器名域,使所有图像都为空。我还发现,如果我访问手机上的虚拟主机并使用手机本身安装wordpress,它会工作,但域会更改为ip而不是唯一的url。wordpress因将安装时使用的域名存储在其数据库中并将其用于重定向和图像url等各种事情而臭名昭著。你说我的手机不能直接指向图像url,所以我按照你说的那样做了,端口只与我电脑的ip连接。所以我网站的域名/服务器名是192.168.1.100:8000,192.168.1.100:8001等等,在打开wamp设置后,不要检查virtualhost定义和重复服务器名称。在wordpress中,在permalink设置下,使用一些像velvet blues这样的插件,将URL更改为唯一的URL并不难,这样可以查看手机上不同的站点的外观。非常感谢您的详细解释!我还必须在Windows防火墙上为公共网络启用ApacheHTTP服务器。感谢您的解决方案,它很有效!我必须打开windows防火墙,转到“添加新规则”,选择端口,然后打开端口8000,然后它就工作了(在此之前,我快速禁用了windows防火墙,以查看连接是否通过,以确定是否是防火墙问题)