mobile - WAMPServer,手机访问服务器

标签 mobile wamp virtualhost wampserver

因此,我设置了一些具有唯一 url 的虚拟主机,它们在桌面上运行良好。但是,当我在网络上连接移动设备时,除了默认的 localhost 虚拟主机外,它似乎无法正确访问任何东西,而且只有当它是我拥有的唯一虚拟主机时。

我的设置和编码几乎就是这样,除了不同的网站标题

wamp server 3.0 virtual host on another device

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

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

最佳答案

由于我发布了您引用的答案,因此我决定采用更简单的解决方案。
实际问题是什么
因为我们不能像使用 PC 一样摆弄手机的配置,所以手机永远无法找到我们在服务器机器上的虚拟主机定义中创建的域名,因为它不存在于任何 DNS 服务器中以供它定位IP 地址,DNS 服务器是手机唯一可以查看的地方,除非它是越狱的。
如果您想从另一台 PC 访问您的虚拟主机域之一,您可以像这样在另一台 PC 上的 HOSTS 文件中添加这样的一行。

192.168.0.10 example.local
但是你不能在手机/平板电脑上做到这一点。
Apache 期望能够将请求与 Vhost 关联的内容
当我们创建一个 Apache 虚拟主机时,我们实际上是在告诉 Apache 查看传入连接上的域名并将该域名与 ServerName 匹配。存在于我们的多个虚拟主机定义之一中。
但是如果我们使用例如 example.local作为我们的虚拟托管域,当我们尝试从手机连接到该域时,手机会执行 DNS 查找,但找不到该域,因此无法获取其 IP 地址。
解决这个问题的最简单方法是:
假设我们无权向 DNS 服务器添加记录,我们必须想出一个不同的解决方案。
其中最简单的是使用运行 WAMPServer(Apache) 服务器的 PC 的 IP 地址和特定的端口号。因此,对于我们希望通过电话使用的每个站点,这是一个不同的端口号。
那么我们如何做到这一点
将新的监听端口添加到 httpd.conf像这样在 2 个现有的 Listen 之后陈述
WAMP 服务器 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>
完成这些编辑后,从 wampmanager 重新启动 Apache。
现在,您可以使用 ServerName 从 WAMPServer PC 进行测试。即example.dev并从电话使用运行 WAMPServer 的 PC 的 ip 和端口号,即 192.168.0.10:8000Apache 将从这两个请求中找到正确的代码。
如果您希望通过手机访问多个虚拟主机,您只需复制此想法并更改每个新站点的端口号,假设您将使用 8001,8002,8003 等。对于您想要访问的站点数量.

You may also have to amend your firewall to allow access on http on port 8000, or whatever port you pick to use

关于mobile - WAMPServer,手机访问服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43016713/

相关文章:

javascript - iframe 触摸事件 preventDefault

在移动设备上自动播放 HTML 视频

php - 如何在 WAMP 服务器中设置 404 页面的样式

php - Redis 已安装但未在 WAMP 中加载

linux - Apache 将 HTTPS 重定向到 HTTP

apache - 导入/包含要在 Apache 的 httpd.conf 中使用的外部 VirtualHost 文件

javascript - 使用 Cordova 或 PhoneGap 开发纯浏览器的 Web 应用程序有意义吗?

web - 使现有网站对移动设备友好

php - https 站点在本地打不开

dynamic - 如何在nginx中使用动态SSL配置配置动态虚拟主机?