将subdir多站点安装更改为subdir core目录结构

时间:2013-01-03 作者:Rarst

既然WordPress 3.5应该使用子目录中的核心文件,我决定将本地开发设置(子目录multisite)移动到该配置。

快进一步,我有以下内容:

wordpress (3.5芯)

wp-content (内容目录,通过配置WP_CONTENT_DIRWP_CONTENT_URL)

.htaccess 使用:

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

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) C:\\server\\www\\dev\\wordpress/wp-includes/ms-files.php?file=$2 [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).*) C:\\server\\www\\dev\\wordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ C:\\server\\www\\dev\\wordpress/$2 [L]
RewriteRule . index.php [L]
wp-config.php 使用:

define(\'MULTISITE\', true);
define(\'SUBDOMAIN_INSTALL\', false);
define(\'DOMAIN_CURRENT_SITE\', \'dev.rarst.net\');
define(\'PATH_CURRENT_SITE\', \'/\');
define(\'SITE_ID_CURRENT_SITE\', 1);
define(\'BLOG_ID_CURRENT_SITE\', 1);
index.php 使用:

define(\'WP_USE_THEMES\', true);
require(\'./wordpress/wp-blog-header.php\');
状态:

网络管理员工作于/wordpress/wp-admin/network/ 但所有链接都试图指向/wp-admin/network/ 哪些错误Forbidden 具有The given path was above the root path: AH00127: Cannot map GET /wp-admin/network/ HTTP/1.1 to filedev.rarst.net 管理员位于dev.rarst.net/wordpress/wp-admindev.rarst.net/*) 已经破坏了上传,以及到管理员和其他东西的链接,还没有到他们那里in what direction do I need to move from here to get everything working?

这种设置应该有哪些管理链接(因为核心位于“真实”子目录中,而站点位于“虚拟”子目录中)?

1 个回复
最合适的回答,由SO网友:shea 整理而成

你的.htaccess 线条需要如下所示:

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

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) /wordpress/wp-includes/ms-files.php?file=$2 [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).*) /wordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ /wordpress/$2 [L]
RewriteRule . index.php [L]
。htaccess无法访问文档根目录以外的位置,这就是为什么路径C:\\server\\www\\dev\\ 失败(上面的代码已经在我的localhost multisite安装上进行了测试)。

因为.htaccess 重写,无需设置WP_CONFIG_DIRWP_CONFIG_URL 它们由WordPress进行相应的计算。您可以访问您的管理页面http://dev.rarst.net/wp-adminhttp://dev.rarst.net/subsite/wp-admin

结束

相关推荐

WordPress MultiSite-可以将主站点放入子目录中吗?

我正在创建一个具有不同语言版本的网站,客户的要求是所有语言版本都是:在多站点设置中有一个不同的站点,它们都有这样的地址:mysite。由于主站点是英文的,所以它的地址实际上必须是mysite。com/en,不仅仅是mysite。com公司如果可能的话,我不想从主站点重定向到一个只有mysite地址的子站点。com/en,但是否要使用具有子目录地址的实际主站点?原因:管理界面;数据库更干净且一致。