我需要从同一局域网中的其他计算机访问我的Laravel应用程序,该应用程序与Apache(wampserver)一起提供。
OS: Windows 8.1
Wampserver version: 3.0.6
Apache version: 2.4.23
我可以通过以下网址从其他计算机访问我的应用程序:
http://192.168.12.13/scms/public/
以下网址也有效:
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
通过上述设置,我可以在我自己的计算机上使用以下网址完美地使用我的应用程序:
http://local.scms-ananta.com
但我无法从网络上的其他计算机访问它。
请注意,使用php artisan serve
投放不符合我的目的。我需要用Apache服务。
非常感谢任何帮助。
答案 0 :(得分:1)
首先,编辑主机文件在从其他计算机访问时无法帮助您,除非您还编辑了所有这些PC的主机文件。因此最好使用IP进行访问。
现在您的配置问题是,要在服务器中提供/部署laravel网站,您必须将公用文件夹作为文档根目录。 Follwoing是localhost的配置
# wamp
<VirtualHost *:80>
DocumentRoot "C:\wamp64\www"
ServerName localhost
</VirtualHost>
将文档更改为以下内容将解决您的问题。
DocumentRoot "C:\wamp64\www\scms\public"