今天突然发现,我的博客的文章出现了动态地址访问记录,也就是说网站访问者通过?p=123的形式的动态链接可以访问我的网站,正常访问。但按理来说,wordpress伪静态后,游客访问动态链接时,wordpress会自动判断,将网址自动跳转到静态化后的URL,不知是什么地方出了问题。在网上搜索了一圈,找到了这个代码很实用。特发帖分享出来,大家也可以试试自己的网站用动态链接是否可以访问,如果不会跳转,可以试试这个代码。
在functions.php中加入下面的代码
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()函数获取静态化后的标准地址,这样就可以正常跳转了。
最新评论