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