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