多站点使用语言代码作为子目录

时间:2014-03-25 作者:user49454

我在子目录中安装了WordPress/de 和激活的多站点功能。主博客具有URL/路径:mysite.de/de

现在,我想添加第二个英语网站,网址如下:mysite.de/en

但在我添加网站后,英文网站的子目录设置为:mysite.de/de/en

有什么想法我可以得到这些网站的URL?

mysite.de/de
mysite.de/en
mysite.de/fr

2 个回复
SO网友:David

这里有一个合适的多站点解决方案:

Install WordPress 直接在域的根目录上mysite.de. 之后,设置一个多站点并选择subdomain 选项(是的,子域!它更灵活,您也可以将其用于子目录)。

WordPress将要求您更新wp-config.php.htaccess. 到wp-config.php 添加以下常数(除WP提供的常数外)

define( "COOKIEDOMAIN", "" );
define( "ADMIN_COOKIE_PATH", "/" );
define( \'SITECOOKIEPATH\', \'/\' );
不要使用。WordPress提供的htaccess代码,但使用instead 这个:

RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]
Go to the network admin menu 并创建两个网站,每种语言一个。您将被要求提供站点地址(子域)。只需输入de 德国站点和en 对于英国人来说。创建网站后,直接编辑它<现在,您可以编辑完整的URL。只需将其设置为http://mysite.de/dehttp://mysite.de/en. 对法国网站也要这样做。

现在,您的网络中有四个站点,可能具有以下ID:

1 mysite.de/
2 mysite.de/de
3 mysite.de/en
4 mysite.de/fr
因为你不需要第一个,你可以让它空着。你就是不用它。管理其他网站中的内容。

将请求重定向到mysite.de/ 将另一行添加到.htaccess 在其他人之上:

RedirectMatch permanent "^/$" http://mysite.de/de
您现在有了一个由两个活动站点组成的功能齐全的内容网络。

最后,个人建议:有一个免费插件,名为Multilingual Press 它支持网络中多语言设置的概念。披露:我之前为这个插件做过贡献,并为一家开发这个插件的公司工作。

SO网友:Sam

使用一个好的WordPress翻译插件来维护博客会容易得多。

WPML(http://wpml.org) 是我最喜欢的任务插件。如果你不想付任何钱QTranslate 也是一个不错的选择。

这两个插件都允许您拥有子域(en.mysite.de)或语言文件夹(mysite.de/en)。

祝你好运!

结束

相关推荐

MultiSite Get_Home_url();-获取当前站点的URL

使用多站点时,get\\u home\\u url()的替代品是什么?例如,如果我在多个站点上安装了一个主题,并且在该主题中有需要特定于当前站点的链接。在我的单次安装中,使用get\\u home\\u url();会给我http://domain.com/, 这很好,如果我把主题移到另一个领域,什么都不会受到影响。但是,当我在多站点上使用相同的主题时,get\\u home\\u url();给了我http://domain.com/ 无论我目前在哪个网站上。我需要的是每个域。com/sitename/