作者:zhiqiang 来源:阅微堂 酷勤网收集 2008-07-04
首先要你的服务器支持SSL。哪些服务器支持呢?我也不知道。我只知道我所在的CPH服务器是支持的。而且https加密连接和http不加密连接用的是不同的文件夹,所以我们需要一些措施才能让它们显示同样的内容。
以这个blog为例,https连接的文件夹位置为 /home/mathzqy/domains/zhiqiang.org/private_html/,http连接的文件夹位置是/home/mathzqy/domains/zhiqiang.org/public_html/。blog位于各自的/blog/目录下。下面几步可以让blog支持https连接(在CPH服务器的邻居们可以依样画葫芦,实际使用时把目录和地址改为对应的即可):
1. 把public_html/blog/下的wp-config.php,index.php,wp-blog-header.php,wp-comments-post.php,wp-settings.php,wp-login.php复制到private_html/blog/目录下。为防遗漏也可把目录下所有文件都复制过来。
2. 修改private_html/blog/wp-config.php,在最后
<?
/* That's all, stop editing! Happy blogging. */
// change ABSPATH !important
define('ABSPATH', '/home/mathzqy/domains/zhiqiang.org/public_html/blog/');
// add two lines, change blog url !important
define('WP_SITEURL', 'https://zhiqiang.org/blog');
define('WP_HOME', 'https://zhiqiang.org/blog');
?>
3. 修改public_html/blog/wp-config.php,添加
<?php
if (isset($_SERVER['HTTPS'])):
define("WP_SITEURL", "https://zhiqiang.org/blog");
define("WP_HOME", "https://zhiqiang.org/blog");
endif;
/* That's all, stop editing! Happy blogging. */
?>
如果https和http用的是同一个文件夹,应该只需要做此步骤即可(未测试)。
4. 使用SSH,建立目录之间的映射:
ln /home/mathzqy/domains/zhiqiang.org/public_html/blog/wp-content /home/mathzqy/domains/zhiqiang.org/private_html/blog/wp-content -s
ln /home/mathzqy/domains/zhiqiang.org/public_html/blog/wp-admin /home/mathzqy/domains/zhiqiang.org/private_html/blog/wp-admin -s
ln /home/mathzqy/domains/zhiqiang.org/public_html/blog/wp-includes /home/mathzqy/domains/zhiqiang.org/private_html/blog/wp-includes -s
最后这一步也许不做也可以,此时管理界面无法用https,其它应该没啥关系。
补充:
CPH可以申请SSH的。
实在没有的话,最后那一步就不做了,不做的话可能某些ajax功能用不了,还有管理员界面不能用https通道。其它应该还正常吧。
另外一个解决方案是把文件全部复制过去,但这时候修改原来模板和插件时,https文件夹下需要同步更新,比较麻烦就是了。
来自:http://zhiqiang.org/blog/posts/wordpress-blog-support-ssl-https.html

