WordPress教程:如何隐藏并替换WordPress管理路径?

在上一篇教程中,我们向大家介绍了,如何防止wordpress网站被暴力破解,这次的教程,我们将继续围绕wordpress优化与安全的方面向大家讲解,如何隐藏wordpress管理面板路径并替换原来的路径,来防止那些不法份子尝试攻击或者破解wordpress后台。
如你所见wordpress迷的管理路径是/admin-wpmee/,当然,这里可以自定义,那如何实现将/wp-admin/ 修改成 /admin-wpmee/这样的方式呢?这不是重定向,我们将完全改变默认管理员路径到仪表盘。let"s do it!

隐藏WordPress管理路径

首先将下面的代码复制到你的wp-config.php文件中:

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

然后将下面这些代码放到你的 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里就搞定。

  1. RewriteRule ^admin-panel/(.*) wp-admin/$1?%{QUERY_STRING} [L]

如果是nginx的服务器则添加下面的到你的配置文件:

  1. 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默认换转换成全角,蛋碎。