解决DNS域名劫持和相关的WordPress设定

如果你的Wordpress的主DNS域名被当局劫持,这几乎是个灾难。还好,还有办法:

1. 在DNS控制面板中,设定所有的二级域名指向同样的IP。这个,你就可以凭空输入任意二级域名,而达到指向主域名IP的效果

2. 在Wordpress中,禁用链接重定向,并启用动态域名

2.1 在模板文件中,在functions.php中添加如下代码:

// 删除网站重定向
remove_filter(‘template_redirect’,’redirect_canonical’);

2.2 启用动态域名:

在wp-config.php中的,/*That’s all….*/的前面添加如下代码:

//强制指定bloginfo中的url为动态产生

define('WP_SITEURL', "http://{_SERVER['SERVER_NAME']}/");
define('WP_HOME',    "http://{_SERVER['SERVER_NAME']}");

参考:http://www.corvidworks.com/articles/portable-wordpress-config

3. 在wordpress的默认.htaccess中,将主域名重写到随机产生的二级域名

比如:
# BEGIN My DNS Unblock
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^new.xiaofang.me
RewriteRule ^(.*)https://new.xiaofang.me/1 [R=permanent,L]
</IfModule>
# END My DNS Unblock

其中,new.xiaofang.me 是假定的新域名。

4. 一次性的修改apache 的virtualhost 配置文件(只改一次即可)

<VirtualHost *:443>
ServerName www.xiaofang.me
ServerAlias *.xiaofang.me

如果这些步骤太麻烦,则可以使用 Sikuli自动化工具来自动执行这些重复的步骤。