我们能以某种方式做到这一点吗。我展示了这个例子,但我们可以更改下面的代码。
<Location />
DocumentRoot /var/www/html/app1/public
</Location>
<Location /app2>
DocumentRoot /var/www/html/app2/public
</Location>
我需要什么,例如:192.168.1.23将打开app1,192.168.1.23/app2将打开app1
在这种情况下,您可以使用Alias
指令,如下所示:
<VirtualHost *:80>
DocumentRoot /var/www/html/app1/public
Alias /app2 /var/www/html/app2/public
# add other directives here
</VirtualHost>
这将把/var/www/html/app2/public
的文件系统内容映射到/app2
,而默认的文档根目录(/
(将是/var/www/html/app1/public
。
我建议您看一下这里的文档,它为您的问题的不同解决方案提供了很好的解释:https://httpd.apache.org/docs/2.4/urlmapping.html
不特定于laravel。如果你想让Apache为两个不同的应用程序提供文件,那么在Apache配置文件中设置虚拟主机
# Ensure that Apache listens on ports
Listen 80
Listen 81
Listen 82
Listen 83
<VirtualHost *:80>
DocumentRoot "/www/example1"
ServerName www.example.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/www/example2"
ServerName www.example.org
# Other directives here
</VirtualHost>
<VirtualHost *:81>
DocumentRoot "/www/example3"
# Other directives here
</VirtualHost>
<VirtualHost *:82>
DocumentRoot "/www/example4"
# Other directives here
</VirtualHost>
<VirtualHost *:83>
DocumentRoot "/www/example5"
# in the 'example5' folder place subfolders 'app1' and 'app2'
# navigate in the browser to each app i.e. 127.0.0.1/example5/app1 and 127.0.0.1/example5/app2
# Other directives here
</VirtualHost>