不论我们打算将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、登陆控制面板
11、如果你设置了固定连接(Permalinks),打开永久链接选项面板,更新Permalinks结构。如果.htaccess已经设置了正确的权限,WordPress会自动更新你的.htaccess文件。如果 WordPress不能写入你的.htaccess文件,就会显示新的rewrite规则,因此你就需要手动把rewrite规则复制到根目录中的.htaccess文件中。
二、WordPress 已经安装在子目录中,希望使用根目录域名显示WordPress博客
如果你已经在子目录中安装了WordPress请按照如下步骤操作:
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、登陆控制面板
7、如果你设置了固定连接(Permalinks),打开永久链接选项面板,更新Permalinks结构。如果.htaccess已经设置了正确的权限,WordPress会自动更新你的.htaccess文件。如果 WordPress不能写入你的.htaccess文件,就会显示新的rewrite规则,因此你就需要手动把rewrite规则复制到根目录中的.htaccess文件中。
三、将网站主页的URL指向子目录
某些情况下,你将WordPress安装在子目录中,也将其显示为包含子目录的地址。
这也很容易做到,详见如下步骤:
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
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/