我在开发人员机器上有两个laravel项目,该机器仅启用了80端口。如何用Apache挂载两个或更多proyect?这是我需要的:
浏览器中的示例应为:
10.20.30.40/project1
10.20.30.40/project2
10.20.30.40/project3
...
我已经在apache上配置了这些虚拟主机:
<VirtualHost *:80>
ServerName 10.20.30.40
ServerAlias 10.20.30.40/project1
ServerPath /project1
DocumentRoot /var/www/html/project1/public
<Directory /var/www/html/project1/public>
AllowOverride All
</Directory>
ErrorLog /var/www/project1/log/error.log
CustomLog /var/www/project1/log/requests.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName 10.20.30.40
ServerAlias 10.20.30.40/project2
ServerPath /project2
DocumentRoot /var/www/html/project2/public
<Directory /var/www/html/project2/public>
AllowOverride All
</Directory>
ErrorLog /var/www/project2/log/error.log
CustomLog /var/www/project2/log/requests.log combined
</VirtualHost>
但不起作用...有帮助吗?
谢谢
答案 0 :(得分:0)
您的ServerName和ServerAlias(可选)对于每个虚拟主机必须是唯一的。您应该在/ etc / hosts文件(假设Linux或Mac)中定义project1和project2,并将ServerName属性设置为匹配。我认为您不需要ServerAlias或ServerPath。听起来您应该在/ etc / hosts文件中定义project1和project2,如下所示:
10.20.30.40 project1
10.20.30.40 project2
然后在您的apache配置中:
<VirtualHost *:80>
ServerName project1
DocumentRoot /var/www/html/project1/public
<Directory /var/www/html/project1/public>
AllowOverride All
</Directory>
ErrorLog /var/www/project1/log/error.log
CustomLog /var/www/project1/log/requests.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName project2
DocumentRoot /var/www/html/project2/public
<Directory /var/www/html/project2/public>
AllowOverride All
</Directory>
ErrorLog /var/www/project2/log/error.log
CustomLog /var/www/project2/log/requests.log combined
</VirtualHost>