使用Apache设置多个网站
我们假定:
如有必要,复制网站或商店视图的现有index.php
入口点脚本,并将以下内容添加到该脚本中:
-
您正在使用开发计算机(笔记本电脑、虚拟机等)
在托管环境中部署多个网站可能需要执行其他任务;有关更多信息,请咨询您的托管提供商。
在云基础架构上设置Adobe Commerce需要执行其他任务。 完成本主题中讨论的任务后,请参阅 Commerce on Cloud Infrastructure指南 中的设置多个网站或商店。
-
每个网站使用一个虚拟主机;虚拟主机配置文件为
/etc/httpd/httpd.conf
不同操作系统上的不同版本Apache对虚拟主机的设置有所不同。 如果不确定如何设置虚拟主机,请参阅Apache文档或网络管理员。
-
Commerce软件安装在
/var/www/html/magento2
中 -
您拥有默认网站以外的两个网站:
- 网站代码为
french
且商店视图代码为fr
的french.mysite.mg
- 网站代码为
german
且商店视图代码为de
的german.mysite.mg
- 网站代码为
使用Apache设置多个网站的路线图
设置多个存储由以下任务组成:
- 在管理员中设置网站、商店和商店视图。
- 为每个Commerce网站创建一个Apache虚拟主机。
步骤1:在“管理员”中创建网站、商店和存储视图
查看在Admin中设置多个网站、商店和商店视图。
步骤2:创建Apache虚拟主机
本节讨论如何在虚拟主机中使用Apache Server变量SetEnvIf
设置MAGE_RUN_TYPE
和MAGE_RUN_CODE
的值。
有关SetEnvIf
的详细信息,请参阅:
要创建Apache虚拟主机:
-
作为具有
root
权限的用户,在文本编辑器中打开虚拟主机配置文件。例如,打开
/etc/httpd/conf/httpd.conf
-
找到以
<VirtualHost *:80>
开头的部分。 -
在任何现有虚拟主机之后创建以下虚拟主机:
code language-conf <VirtualHost *:80> ServerName mysite.mg DocumentRoot /var/www/html/magento2/pub/ </VirtualHost> <VirtualHost *:80> ServerName french.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "french" SetEnv MAGE_RUN_TYPE "website" </VirtualHost> <VirtualHost *:80> ServerName german.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "german" SetEnv MAGE_RUN_TYPE "website" </VirtualHost>
-
将更改保存到
httpd.conf
并退出文本编辑器。 -
重新启动Apache:
- CentOS:
service httpd restart
- Ubuntu:
service apache2 restart
- CentOS:
验证您的站点
除非您为商店的URL设置了DNS,否则必须在hosts
文件中添加指向主机的静态路由:
-
找到操作系统
hosts
文件。 -
采用以下格式添加静态路由:
code language-conf <ip-address> french.mysite.mg <ip-address> german.mysite.mg
-
在浏览器中转到以下URL之一:
code language-http http://mysite.mg/admin http://french.mysite.mg/frenchstoreview http://german.mysite.mg/germanstoreview
INFO
- 在托管环境中部署多个网站可能需要执行其他任务;有关更多信息,请咨询您的托管提供商。
- 在云基础架构上设置Adobe Commerce需要执行其他任务;请参阅_云基础架构上的Commerce指南_中的设置多个云网站或商店。
故障排除
- 如果您的法语和德语网站返回404但您的管理员加载了,请确保您已完成步骤6:将商店代码添加到基本URL。
- 如果所有URL都返回404,请确保已重新启动Web服务器。
- 如果管理员无法正常运行,请确保正确设置虚拟主机。
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c