在本地手机上测试apache网站

时间:2017-01-03 13:53:11

标签: php apache laravel

我正在使用ubuntu 16.04并正在开展laravel项目。

我在名为/var/www/html的{​​{1}}中有一个新的laravel项目,可以通过转到

来访问它

myproject

但是为了让路线发挥作用,我找到了一个在localhost/myproject/public/中创建网站的解决方案:

/etc/apache2/sites-available

然后在<VirtualHost *:80> ServerName myproject.dev ServerAdmin webmaster@localhost DocumentRoot /var/www/html/myproject/public <Directory /var/www/html/myproject> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 文件中添加了一个新条目,如下所示:

/etc/hosts

重新启动的apache现在可以使用浏览器中的127.0.0.1 localhost 127.0.1.1 myhostname 127.0.0.1 myproject.dev 访问项目。

现在我想使用实际手机测试一些响应式内容。

我尝试http://myproject.dev它不起作用,如果我这样做

http://myproject.dev

它将我带到目标网页,但访问任何其他路线会产生404.此格式也无法在计算机浏览器上运行。

然而,这适用于计算机:

http://myhostname/myproject/public

但不在电话上。

如何访问手机上的http://localhost/myproject/public网站?我的电脑和手机都连接到同一个wifi接入点。

3 个答案:

答案 0 :(得分:1)

请记住,手机不知道您的网站网址,因为它不在任何DNS服务器中,除非您越狱,否则您无法在手机上摆弄主机文件。

我通常做的是创建一个从手机访问网站时使用的新虚拟主机。但是在这个虚拟主机上我使用另一个端口号,因为在手机浏览器上添加端口号很容易。

所以添加另一个这样的VH和另一个Listen命令

Listen 81
<VirtualHost *:81>
    ServerName myproject.dev
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/myproject/public

    <Directory /var/www/html/myproject>
        AllowOverride All
        # add access from any ip on your subnet
        Require ip 192.168.1
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

然后假设服务器正在192.168.1.100上运行,您可以使用此网址访问该网站

http://192.168.1.100:81

你的路线应该没有任何摆弄

答案 1 :(得分:0)

在您的<VirtualHost> - 指令的IP地址上添加别名。像ServerAlias 192.168.1.100这样的东西。然后,您应该能够访问该IP地址上的Web应用程序,如下所示:http://192.168.1.100/myproject/public

这里的主要原则非常独立于laravel,但更多与DNS和网络以及apache配置有关。

答案 2 :(得分:0)

考虑使用 .xip.io 解决方案。

示例: 如果您的本地计算机 IP 地址是 192.168.1.2 ,并且您可以以 http://192.168.1.2/somepage.html 访问您的本地站点,则您可以在手机中使用 http://192.168.1.2.xip.io/somepage.html 访问它。要使此解决方案起作用,您需要编辑您的 apache 虚拟主机,例如:

<VirtualHost *:80>
    DocumentRoot "/path/to/site"
    ServerAlias site.*.xip.io
    ServerName site.dev
</VirtualHost>

注意:不要忘记重启 apache。