这个是可能的吗?一个多站点,带有“www.Example.com/en/Blog/”和“www.Example.com/CN/Blog/”(两个目录深)

时间:2018-01-18 作者:Joseph Shih

是否可以安装多站点并first 此处安装:

http://www.example.com/en/blog/
然后全部other 这些地方的网站?

http://www.example.com/cn/blog/

http://www.example.com/ru/blog/

http://www.example.com/jp/blog/
请注意,第一次安装不能在/en/ 或者只是/

EDIT: See solution in my self-accepted answer below.

2 个回复
最合适的回答,由SO网友:Joseph Shih 整理而成

我成功了!诀窍是在启用和更改其他站点设置后编写变量PATH\\u CURRENT\\u站点定义。简单,无需其他特殊的htaccess重写或代码。

步骤1)原始安装https://www.example.com/en/blog/

步骤2)启用多站点

https://codex.wordpress.org/Create_A_Network

步骤3)添加新站点

在网络管理中,只需在另一个子目录下添加每个附加站点,如ru 在里面https://www.example.com/en/blog/ru/. 然后,在创建URL后将其编辑为https://www.example.com/ru/blog/. 对更多站点重复此步骤。

步骤4)编辑wp-config.php 动态定义PATH\\u CURRENT\\u站点的文件

define(\'MULTISITE\', true);
define(\'SUBDOMAIN_INSTALL\', false);
define(\'DOMAIN_CURRENT_SITE\', \'www.example.com\');
// Previously just: define(\'PATH_CURRENT_SITE\', \'/en/blog/\');
preg_match(\'/^(\\/[a-zA-Z]+\\/blog\\/)/\', $_SERVER[\'REQUEST_URI\'], $matches);
if (!is_array($matches) || !isset($matches[1]) || !is_string($matches[1]))
{
    die(\'INVALID DIRECTORY\');
}
define(\'PATH_CURRENT_SITE\', $matches[1]);
define(\'SITE_ID_CURRENT_SITE\', 1);
define(\'BLOG_ID_CURRENT_SITE\', 1);
步骤5)清理permalink以防止双重blog 鼻涕虫状/en/blog/blog/post-name/, 转到站点设置(在网络管理中)并编辑永久链接设置。

SO网友:bueltge

是的,您的要求是可能的。

此外,您还可以为每种语言使用不同的域,如

  • http://www.example.cn/blog/
  • http://www.example.ru/blog/
  • http://www.example.jp/blog/
如果您还需要不同站点的帖子之间的关系,您可以使用上下文语言,通过自定义代码或现有插件实现这一点,如Multilingual Press.

<小时>

结束

相关推荐

WordPress MultiSite Theme

我有多个网站。(3个网站)所以我想在其中一个网站上应用不同的主题。但当我激活主题时。所有站点都受到影响。这就是多站点的工作方式吗??有人能澄清一下多站点可以做什么吗?安装多站点(子目录)修改了wp配置。php和。htaccessdefine( \'WP_ALLOW_MULTISITE\', true ); define(\'MULTISITE\', true); define(\'SUBDOMAIN_INSTALL\', false); define(\'DOMAIN_CURREN