今天突然发现,我的一个博客的文章出现了动态地址访问记录,也就是说读者通过?p=123的形式可以访问我的网站,正常访问。但按理来说,wordpress会自动判断,将网址跳转到静态化后的URL,不知是什么地方出了问题,于是决定自己修复。
在functions.php中加入下面的代码
/* * 作者:否子戈 * 来源:乌徒帮 www.utubon.com */ function fix_url_uri(){ ?? ?// 解决动态网址也可以被访问的问题 ?? ?$redirect_canonical = redirect_canonical(); ?? ?if($redirect_canonical){ ?? ??? ?wp_redirect($redirect_canonical,301); ?? ??? ?exit; ?? ?} } add_action('get_header','fix_url_uri',-1);
代码很简单,即使用了redirect_canonical()函数获取静态化后的标准地址,这样就可以正常跳转了。