使用来自不同域的子目录创建Drupal多站点



我正在尝试创建Drupal Multisite。目前,假设我们有以下形式的实时网站

abc.example.com
def.example.com
xyz.example.com

所有站点都位于目录中的同一服务器(Nginx服务器)上

/var/www/vhosts/abc.example.com/httpdocs
/var/www/vhosts/def.example.com/httpdocs
/var/www/vhosts/xyz.example.com/httpdocs

现在我们必须为每个Live站点创建博客,我们正在研究相同的Drupal Mutlisite架构,因此所有站点都应该指向相同的代码库,这将简化我们的维护任务。

我们目前已经为安装在blogs.example.com上的主/默认域站点目录创建了符号链接,因此符号链接被创建为

ln-s/var/www/vhosts/blogs.example.com/httpdocs/var/ww/vhosts/xyz.examplecom/httpdocs/blog

并在站点下创建了一个文件夹,名为sites/xyz.example.com.blog

但当我们在浏览器中打开URL时,我们会得到"未指定输入文件"

我们不确定上述错误是否是由于.htaccess中的一些问题造成的,我们也不确定在哪里添加与MutliSite相关的htaccess配置。

如有任何帮助,我们将不胜感激。

此处所述,您的符号链接应位于/var/www/vhosts/blogs.example.com/httpdocs下,作为安装目录以及创建的站点文件夹。还可以尝试删除符号链接上httpdocs/上的结束斜杠:

ln -s /var/www/vhosts/blogs.example.com/httpdocs/ /var/www/vhosts/xyz.example.com/httpdocs/blog

仅限于httpdocs,类似于:

ln -s /var/www/vhosts/blogs.example.com/httpdocs blog

或者分两行执行命令:

cd /var/www/vhosts/blogs.example.com/httpdocs
ln -s . blog

还要确保xyz.example.comblogs.example.comCNAME相同,并且xyz.example.com在vhost上设置为ServerAliasblogs.example.com。因此,当你的浏览器指向http://xyz.example.com/blog时,你应该得到你的网站。

一旦您以管理员身份登录到新网站,请检查公共文件系统路径的正确路径,或将其放在sites/xyz.example.com.blog/files:的以下管理菜单下

Home » Administration » Configuration » Media » File System

最新更新