许多人希望 WordPress 为他们网站的根目录提供支持(例如http://example.com
),但他们不希望所有 WordPress 文件都在他们的根目录中混乱。WordPress 允许您将其安装到子目录中,但您的网站从网站根目录提供服务。
从3.5 版开始,多站点用户可以使用下面列出的所有功能。如果您运行的 WordPress 版本早于 3.5,请在子目录上安装多站点 WordPress 安装之前进行更新。
主题/插件开发人员注意:这不会将您的代码与 WordPress 分开。主题和插件仍将驻留在 wp-content 文件夹下。
将根安装移动到其自己的目录 #
假设您已经在example.com
. 现在您有两种不同的方法可以将 wordpress 安装移动到子目录中:
1) 不改变 SITE-URL (仍然example.com
)
2) 随着 SITE-URL 的变化(它将重定向到example.com/subdirectory
)
方法一(不改变网址) #
1)在根文件夹中安装wordpress后,将根文件夹中的所有内容移动到子目录中。
2)在根文件夹中创建一个.htaccess
文件,并将此内容放入其中(只需更改example.com
和my_subdir
):
<IfModule mod_rewrite.c> 重写引擎开启 RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteCond %{REQUEST_URI} !^/my_subdir/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d 重写规则 ^(.*)$ /my_subdir/$1 RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteRule ^(/)?$ my_subdir/index.php [L] </IfModule>
就这样
方法二(更改网址) #
搬家过程 #
(ps 如果您已经在子目录中安装了 WP,一些步骤可能已经自动完成)。
- 为要存储的核心 WordPress 文件创建新位置(我们将
/wordpress
在示例中使用)。(在 linux 上,mkdir wordpress
从您的www
目录中使用。您可能希望在您创建chown apache:apache
的wordpress
目录上使用。) - 转到一般屏幕。
- 在WordPress 地址 (URL):设置您的主要 WordPress 核心文件的地址。例子:
http://example.com/wordpress
- 在站点地址(URL)中:设置根目录的 URL。例子:
http://example.com
- 单击保存更改。(不要担心现在发生的错误!继续阅读)
- 现在将您的 WordPress 核心文件(从根目录)移动到子目录。
index.php
将 WordPress 目录中的和文件复制(不要移动!).htaccess
到您网站的根目录(博客地址)。该.htaccess
文件是不可见的,因此您可能需要将 FTP 客户端设置为显示隐藏文件。如果您没有使用漂亮的永久链接,那么您可能没有 .htaccess
文件。如果您在 Windows (IIS) 服务器上运行 WordPress并使用漂亮的永久链接,那么您的 WordPress 目录中将有一个web.config
而不是一个.htaccess
文件。对于该index.php
文件,说明保持不变,将 index.php 文件复制(不要移动)到您的根目录。web.config
文件的处理方式必须与文件不同,.htaccess
因此您必须移动(不要复制)web.config
文件到你的根目录。- 在文本编辑器中打开根目录的
index.php
文件 - 更改以下内容并保存文件。使用 WordPress 核心文件的目录名称,将显示的行更改
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
为:require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
- 登录到新位置。现在可能是
http://example.com/wordpress/wp-admin/
- 如果您已设置永久链接,请转到永久链接屏幕并更新您的永久链接结构。
.htaccess
如果 WordPress 具有适当的文件权限,它将自动更新您的文件。如果 WordPress 无法写入您的.htaccess
文件,它将向您显示新的重写规则,您应该手动将其复制到您的.htaccess
文件中(与主文件位于同一目录中index.php
。)
.htaccess 修改 #
在某些情况下,有些人喜欢在子目录中安装单独的版本(例如 /2010、/2011、/latest 等),并希望该网站(默认情况下)使用最新版本,然后在子目录中安装 WordPress ,例如/my_subdir
并在您的根文件夹的 .htaccess 文件中添加以下内容(只需根据需要更改单词):
重写引擎开启 RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 重写规则 ^(/)?$ my_subdir[L]
现在当用户进入你的根域(example.com)时,它会自动重定向到你指定的子目录。
注意:此代码来自 Site 5 的帖子:如何使用 .htaccess 将您的域重定向到子文件夹。
移动特定的 WordPress 文件夹 #
以下链接说明了如何更改 WordPress 中的特定目录: