1、wordpress更换域名
由于wordpress安装时已经绑定了域名,当更换网站域名时需要更改才能正常访问,否则会出现部分或整个网站都访问不了的情况
(1)未被强制更换
进入wordpress的后台,设置里将wordpress地址和站点地址都换为要更换的域名
(2)被强制更换域名(域名备案失效等)
方法一:通过FTP软件找到wordpress的配置页,网站根目录下的wp-config.php,插入define('RELOCATE',true);
登入后台后将站点地址改过来,之后记得删除define('RELOCATE',true);
方法二:直接登入后台数据库,修改options表中的siteurl和home的值改为新的域名
据网上说只改这里治标不治本,把改的全面的方法也记一下,选中wp的所有表,在sql栏输入
UPDATE wp_options SET option_value = replace( option_value,'http://原域名','http://新域名') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = replace( post_content, 'http://原域名','http://新域名') ; UPDATE wp_posts SET guid = replace( guid, 'http://原域名','http://新域名') ;
2、搬运wordpress到其他空间
完全搬运网站问题不大,直接用FTP把整个网站的文件拷贝下来,问题在于数据库的导入
(1)导入数据库时,出现“在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (#1113)”
解决办法:在导入时选择UTF-8
(2)导入数据库时,出现“#1273
– Unknown collation: ‘utf8mb4_unicode_ci’” 或者 “#1273 – Unknown
collation:
‘utf8m b4_unicode_520_ci’”的错误,一般是导入的MYSQL和当前网站数据库版本不一致导致的。
解决办法:将导出的数据库文件.sql用sublime之类的打开。
替换:utf8mb4_unicode_ci
为:utf8_general_ci
替换:utf8mb4_unicode_520_ci
为:utf8_general_ci
替换:utf8mb4
为 utf8
保存之后重新导入就没问题了
3、启用wordpress邮箱验证注册
问题1:wordpress自带php调用Mail()服务发送邮箱,不过很多时候mail服务并不开启
虽然可以开启,但是建议采用smtp的方式使用公用服务器(mail服务发送的邮件很可能被邮箱拦截)
解决办法:
1、注册公用邮箱,比如网易,进去后开启smtp服务,复制弹出的绑定密码
2、使用wordpress的插件,smtp的均可,会有一些设置上的区别,但总体差别不大
以163邮箱为例,设置如下内容:
host=smtp.163.com SMTP Authentication=true Username=你注册的邮箱名
Password=你复制的绑定密码(不是邮箱登陆密码) Type of Encryption=SSL(不采用ssl加密的方式会出现无法发送的问题)
port=465(或者994) From Email Address=你注册的邮箱 From Name=你希望对方看到的名字
测试发送,成功收到则成功(有可能在垃圾邮件里)
附:网易邮箱服务相关信息
服务名称 | 服务器地址 | SSL协议采用端口 | 非SSL协议采用端口 | |
IMAP | imap.163.com | 993 | 143 | |
SMTP | smtp.163.com | 465/994 | 25 | |
POP3 | pop3.163.com | 995 | 110 |
问题2:邮箱验证链接无效
原因是发送的链接中>符号被邮件当成了链接的一部分,导致校验无法通过
解决方法一:
(1)修改wp根目录中的login.php中
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";
修改为
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";
即去掉前后的括号即可
(2)修改wp根目录/wp-includes/pluggable.php中
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";
修改为
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";
解决方法二:在主题的functions.php中插入
/** * 修复WordPress找回密码提示“抱歉,该key似乎无效”问题 */ function reset_password_message( $message, $key ) { if ( strpos($_POST['user_login'], '@') ) { $user_data = get_user_by('email', trim($_POST['user_login'])); } else { $login = trim($_POST['user_login']); $user_data = get_user_by('login', $login); } $user_login = $user_data->user_login; $msg = __('有人要求重设如下帐号的密码:'). "\r\n\r\n"; $msg .= network_site_url() . "\r\n\r\n"; $msg .= sprintf(__('用户名:%s'), $user_login) . "\r\n\r\n"; $msg .= __('若这不是您本人要求的,请忽略本邮件,一切如常。') . "\r\n\r\n"; $msg .= __('要重置您的密码,请打开下面的链接:'). "\r\n\r\n"; $msg .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ; return $msg; } add_filter('retrieve_password_message', reset_password_message, null, 2);