我们都知道WordPress管理路径后台是/wp-admin/,对于常规后台地址并不是很安全的,今天教大家如何隐藏wordpress管理面板路径并替换原来的路径,来防止那些不法份子尝试攻击或者破解wordpress后台。
首先将下面的代码复制到你的wp-config.php文件中:


define('WP_ADMIN_DIR', 'admin-panel');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

替换WordPress管理路径

然后将下面这些代码放到你的 functions.php文件里:


add_filter('site_url',  'wpadmin_filter', 10, 3);
 function wpadmin_filter( $url, $path, $orig_scheme ) {
  $old  = array( "/(wp-admin)/");
  $admin_dir = WP_ADMIN_DIR;
  $new  = array($admin_dir);
  return preg_replace( $old, $new, $url, 1);
 }

OK,最后添加如下规则到.htaccess里就搞定。
RewriteRule ^admin-panel/(.*) wp-admin/$1?%{QUERY_STRING} [L]
如果是nginx的服务器则添加下面的到你的配置文件:
rewrite ^/admin-panel/(.*) /wp-admin/$1?$args last;
现在你可以访问管理面板了:http://www.你的域名.com/admin-panel/ 是不是非常的简单呢?
当然这并没有完成,我们还得限制wp-admin这个路径。

限制wp-admin路径访问

下面的代码会将所有的/wp-admin/ URL请求到你的404.php错误页面,将代码放置到你主题的functions.php文件中:


add_action('login_form','redirect_wp_admin');
function redirect_wp_admin(){
$redirect_to = $_SERVER['REQUEST_URI'];
if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
$redirect_to = $_REQUEST['redirect_to'];
$check_wp_admin = stristr($redirect_to, 'wp-admin');
if($check_wp_admin){
wp_safe_redirect( '404.php' );
}
}
}

当然这里的404.php 你可以改成404.html ,更多后续功能大家可以去尝试,今天的wordpress教程就完了,赶紧去试一试吧。注意全角和半角符号。