TearSnow Fan


将WordPress安装在网站子目录的相关问题

不论我们打算将WordPress博客作为网站的子域名(wordpress.example.com)、子目录(example.com/wordpress),还是作为网站的主域名(yourdomain.com)使用,都建议将WordPress安装在子目录而不是网站的根目录中,这主要是为了方便网站维护。

因为在网站根目录内,除了 WordPress 文件目录之外,一般还有其他许多个不同用途的文件和文件夹。尽管我们同样可以将这些文件和文件夹与 WordPress 的文件混合在一起,但是对于维护 WordPress 而言,则增加了不少的麻烦。即使将WordPress安装在网站的子目录中,仍可以显示为网站根目录的域名。

本文介绍将WordPress安装在网站子目录中的相关问题,分几种情况进行介绍,您可以按需查看。

一、WordPress 已经安装在根目录,希望将其转移到子目录,但使其仍具有主域名的地址

1、新建一个用来存放WordPress核心文件的新文件夹(本例以/wordpress示范)。

2、进入设置 - 常规General)面板。

3、找到WordPress address (URL)(中文用户请查找“WordPress 地址(URL)”)这个选项:把后面的地址改成你存放WordPress文件的文件夹地址。比如:http://example.com/wordpress

4、找到Site address (URL)(中文用户请查找“站点地址(URL)”)这个选项:把此地址改为你网站的根目录的URL。例如:http://example.com

5、点击Save Changes(中文用户为“保存更改”,不要担心会看到错误提示,之后也无需尝试访问你的博客,因为此时会提示文件不存在的错误)。

6、把WordPress的核心文件转移到你新建的文件夹中,也就是刚设置的“WordPress address (URL)”这个目录,示范中就是/wordpress目录。

7、把wordpress目录中的index.php和.htaccess文件复制(不建议移动)到根目录(即设置中的“Site address (URL)”)中。(如果你是在Windows IIS 主机下使用固定连接,则会看到web.config文件而不是.htaccess文件,此时应将web.config文件移动到根目录,而不是复制它;对index.php的操作不需要改变。)

8、用文本编辑器打开并编辑根目录下”index.php”这个文件。

9、找到如下代码,修改并保存:找到

require('./wp-blog-header.php');

把地址改为你WordPress目录下的文件:

require('./wordpress/wp-blog-header.php');

10、登陆控制面板,新的控制面板地址为:http://example.com/wordpress/wp-admin/

11、如果你设置了固定连接(Permalinks),打开永久链接选项面板,更新Permalinks结构。如果.htaccess已经设置了正确的权限,WordPress会自动更新你的.htaccess文件。如果 WordPress不能写入你的.htaccess文件,就会显示新的rewrite规则,因此你就需要手动把rewrite规则复制到根目录中的.htaccess文件中。

二、WordPress 已经安装在子目录中,希望使用根目录域名显示WordPress博客

如果你已经在子目录中安装了WordPress(例如 http://example.com/wordpress),但是希望通过主域名 example.com 来访问,请按照如下步骤操作:

1、进入设置 - 常规General)面板。

2、找到Site address (URL)(中文用户请查找“站点地址(URL)”)这个选项:把此地址改为你网站的根目录的URL。例如:http://example.com

3、点击Save Changes(中文用户为“保存更改”,不要担心会看到错误提示,之后也无需尝试访问你的博客,因为此时会提示文件不存在的错误)。

4、把wordpress目录中的index.php和.htaccess文件复制(不建议移动)到根目录(即设置中的“Site address (URL)”)中(一般是 www 或者 public_html之类的目录)。注意.htaccess文件具有隐藏属性,可能需要更改你的FTP客户端设置来显示它。未启用固定连接的WordPress可能不会生成.htaccess文件,此外如果你是在Windows IIS 主机下使用固定连接,则会看到web.config文件而不是.htaccess文件,此时应将web.config文件移动到根目录,而不是复制它;对index.php的操作不需要改变。)

5、用文本编辑器打开并编辑根目录下”index.php”这个文件,找到如下代码,修改并保存:找到

require('./wp-blog-header.php');

把地址改为你WordPress目录下的文件:

require('./wordpress/wp-blog-header.php');

6、登陆控制面板,新的控制面板地址为:http://example.com/wordpress/wp-admin/

7、如果你设置了固定连接(Permalinks),打开永久链接选项面板,更新Permalinks结构。如果.htaccess已经设置了正确的权限,WordPress会自动更新你的.htaccess文件。如果 WordPress不能写入你的.htaccess文件,就会显示新的rewrite规则,因此你就需要手动把rewrite规则复制到根目录中的.htaccess文件中。

三、将网站主页的URL指向子目录

某些情况下,你将WordPress安装在子目录中,也将其显示为包含子目录的地址,例如 http://example.com/wordpress,但是希望人们访问根目录 http://example.com时,浏览器自动重定向到WordPress的地址 http://example.com/wordpress。

另一个具有说服力的例子是一个年度会议的网站,每年的会议网站使用一个子域名yoursite.com/2011,/2012,/2013等,但是你希望当访客访问网站主域名yoursite.com时,自动重定向到最近的一次会议网站,例如yoursite.com/2013。(重定向意味着浏览器的地址栏会发生,访客知道他们正在访问yoursite.com/2013。)

这也很容易做到,详见如下步骤:

1、在子目录中安装WordPress,例如/blog;

2、在根目录中找到.htaccess文件,向文件中加入如下代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?YourDomain.com$
RewriteRule ^(/)?$ blog [L]

其中YourDomain.com替换为你的网站主域名,blog替换为你的子目录名。

注意:

这些步骤貌似很麻烦但实际操作起来很简单,写得比较详细了,相信稍有经验的人一眼就可以看懂。此外注意操作步骤要严格按照这上面的来每布的顺序不要弄错,否则你可能就进不了后台,或者页面无法打开。

上面文字所述的“根目录”和“子目录”也是相对的概念,如果你的英文博客安装到二级域名,或者子目录内,比如 http://yourdomain.com/en ,你也同样可以将 WordPress 目录安装到 http://yourdomain.com/en/wordpress 子目录内,以便于升级和维护。

以上迁移网站地址的过程,并未考虑对网站内容的影响。如果你并不是安装一个新网站,而是迁移一个已经运行一段时间的博客,网站数据库中可能已经存储有原网站的URL。此问题的解释可以参考WordPress Codex:Moving WordPress——when your domain name or URLs change.

参考资料:

[1] WordPress Codex: Giving WordPress Its Own Directory

[2] Site 5: How to Redirect Your Domain to a Subfolder Using .htaccess

本文固定链接: http://blog.xieyc.com/install-wordpress-in-a-subdirectory/ | 小谢的小站

该日志由 xieyc 于2013年05月18日发表在 站长 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 将WordPress安装在网站子目录的相关问题 | 小谢的小站
关键字:

目前共有 4 条留言 【 访客:2 条, 博主:2 条 】双方以 2:2 暂时持平 O(∩_∩)O~

  1. 板凳
    janmi:

    用的是第三种方法,可以成功的通过域名访问到了,但是地址后面会出现子目录的地址,怎么解决?

    2015-02-10 11:46
    • 请仔细阅读文章,第三种方法就是希望访客能够看到在地址后面出现子目录地址的 :smile: @janmi

      2015-02-12 16:58
  2. 沙发
    Cage:

    😉 感谢,解决问题了

    2015-06-28 03:21

发表评论

:wink: :neutral: :mad: :twisted: :smile: :shock: :sad: :roll: :oops: :eek: :mrgreen: :lol: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

快捷键:Ctrl+Enter