作者:zhiqiang 来源:阅微堂   酷勤网收集 2008-07-04

摘要
  首先要你的服务器支持SSL。哪些服务器支持呢?我也不知道。我只知道我所在的CPH服务器是支持的。而且https加密连接和http不加密连接用的是不同的文件夹,所以我们需要一些措施才能让它们显示同样的内容。

首先要你的服务器支持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

分类: 站长经验 Web开发 网页设计

上一篇:对待沙盒的处理方案   下一篇:Google Adsense开展珍珠账户海选活动