我们都知道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教程就完了,赶紧去试一试吧。注意全角和半角符号。

