解决wordpress后台登录重定向及更改登录地址

 

对于大多开发者来说,wordpress应该不会陌生了,它是用PHP语言开发的、主要用于创建博客的CMS系统,其构建网站的快速、简单以及插件丰富的特点使得其在全世界范围内都特别受欢迎。

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

 

大多博客系统都采用了wordpress进行二次开发,本站也不例外,下面讲一讲使用wordpress所遇到的一些问题。

在我的印象中,wordpress4.7以后,搭建站点完成后,登录后台时总会出现如下的错误:

初次遇到的时候,找了网上的解决办法,有的说是可以通过如下方式解决

1、修改wp-config.php文件  从浏览器的判断来看,是Cookie问题,所以从这个角度来解决。打开wp-config.php文件,添加下面的几行代码:   define('ADMIN_COOKIE_PATH', '/');define('COOKIE_DOMAIN', "); define('COOKIEPATH', "); define('SITECOOKIEPATH', ");

 

但是我试了,还是无法解决我的问题,后来查找源码后修改 /wp-content/themes/YOU-THEME/functions.php 加入以下代码:

 

 

function my_login_redirect($redirect_to, $request) {
    if( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() ) {
        return home_url("/wp-admin/index.php");
    } else {
        return $redirect_to;
    }
}
add_filter("login_redirect", "my_login_redirect", 10, 3);

 

 

可以看到,这是登录后的地址重定向到 /wp-admin/index.php这个地址,而不再是之前的 /wp-admin

ok,这下登录之后是到了仪表盘的首页。

另外,wordpress的后台登录地址一般都是默认的/wp-login.php,这样显得不太安全,于是,我们要想办法改变登录入口的地址或者加上一个token,这儿,我选择了加一个token,修改 /wp-content/themes/YOU-THEME/functions/function-(YOU-THEME).php,加入以下代码:

 

add_action('login_enqueue_scripts','login_protection');
function login_protection(){
    if($_GET['auth_token'] != YOUR-TOKEN)header('Location: YOUR-DOMAIN');
}

 

好了,这样再次登录就必须要在/wp-login.php后面加上auth_token才能进入登录页了,否则重定向到首页,起到了一定的保护作用。

 

Leave a Reply

Your email address will not be published. Required fields are marked *