使用 Apache (wampserver) 服务 Laravel 应用程序以从同一 LAN 中的其他计算机访问

Serve Laravel app with Apache (wampserver) to access from other computers in same LAN

我需要从同一 LAN 中的其他计算机访问由 Apache (wampserver) 提供的 Laravel 应用程序。

OS: Windows 8.1
Wampserver version: 3.0.6
Apache version: 2.4.23

我可以通过以下方式从其他计算机访问我的应用程序 URL:

http://192.168.12.13/scms/public/

以下 URL 也有效:

http://192.168.12.13/scms/public/categories/create

但是当我从上面的 URL 提交 POST 请求时它不起作用。它重定向到以下 -

http://192.168.12.13/categories

并显示 "Not Found"。所以,它不起作用。

为了解决这个问题,我为我的应用程序设置了虚拟主机,它在我自己的电脑上运行得很好。但是我无法从其他计算机访问它。

我的设置:

在文件中:

C:\wamp64\bin\apache\apache2.4.23\conf\httpd.conf

添加了这一行:

Listen 192.168.12.13:80

在文件中:

C:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf

完整代码:

# Virtual Hosts

# wamp
<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www"
    ServerName localhost
</VirtualHost>

# scms
<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www\scms\public"
    ServerName local.scms-ananta.com

    <Directory "C:\wamp64\www\scms\public">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Require all granted
    </Directory>
</VirtualHost>

在文件中:

C:\Windows\System32\drivers\etc\hosts

添加了以下几行:

127.0.0.1 local.scms-ananta.com
192.168.12.13 local.scms-ananta.com

通过上述设置,我可以在自己的计算机上使用以下 URL 完美地使用我的应用程序:

http://local.scms-ananta.com

但是我无法从我网络上的其他计算机访问它。

请注意,使用 php artisan serve 服务不会达到我的目的。我需要用 Apache 来提供它。

非常感谢任何帮助。

首先,当您从其他计算机访问时,编辑主机文件对您没有帮助,除非您也编辑所有这些 PC 的主机文件。所以最好用IP访问。

现在您的配置问题是,对于服务器中的 serving/deploying laravel 网站,您必须将 public 文件夹作为文档根目录。 以下是您对 localhost

的配置
# wamp
<VirtualHost *:80>
    DocumentRoot "C:\wamp64\www"
    ServerName localhost
</VirtualHost>

将 documentroot 更改为以下将解决您的问题。

DocumentRoot "C:\wamp64\www\scms\public"