不同子目录中的两个WordPress Multisite安装

时间:2019-03-05 19:57:05

标签: wordpress .htaccess url-rewriting multisite

我在这里安装了WordPress Multisite:mydomain.com 我使用它来使用不同的语言,例如:

 mydomain.com/fr
 mydomain.com/de
 ...

现在我们正在改变设计,但是我们希望一步一步地,逐语言地进行。

因此,我们在/ new文件夹中安装了另一个Wordpress Multisite,它可以与类似这样的网站完美配合

 mydomain.com/new/fr
 mydomain.com/new/de
 ...

我们想将JUST THE FRENCH语言重定向到新的wordpress。我已经尝试在根文件夹中使用此.htaccess(基于Wordpress documentation中的信息:

RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteCond %{REQUEST_URI} !^/fr/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^fr(.*)$ /new/fr/$1
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^fr(/)?$ /new/fr/index.php [L] 

但这给出了“建立数据库连接时出错”。这很奇怪,因为正如我所解释的,网站mydomain.com/new/fr运作良好。

注意:我们不想使用子域,我知道这会带来不同的方法和解决方案;-)

编辑:错误是因为该查询

SELECT  blog_id FROM wp_blogs  WHERE domain IN ( 'mydomain.com' ) AND path IN ( '/fr/', '/' )  ORDER BY CHAR_LENGTH(path) DESC LIMIT 1

我猜想,重定向工作正常,但是当“ new”目录中的wordpress试图确定要访问的博客时,它会读取URL,并且实际上位于“ /”中,因为重定向规则具有[L]并将原始URL保留在apache环境变量中。

1 个答案:

答案 0 :(得分:3)

如果您在WordPress 3.5或更高版本上激活了多站点,则可以按照.htaccess and Mod Rewrite部分中的documentation setup

根据文档:

  

.htaccess和Mod重写与单站点WordPress不同,后者可以正常工作   与“丑陋”的永久链接,因此不需要Mod Rewrite,MultiSite   需要使用它来格式化您的子站点的URL。这需要   .htaccess文件的使用,其格式将略有不同   如果您使用SubFolders或SubDomain,则有所不同。下面的例子   是WordPress子文件夹的标准.htaccess条目,   子域,当WordPress安装在您的根文件夹中时   网站。如果您自己的文件夹中有WordPress,则需要   适当更改RewriteBase的值。