修改网站的管理路径可以是是/admin-123/,当然,这里可以自定义,那如何实现将/wp-admin/ 修改成 /admin-123/这样的方式呢?这不是重定向,我们将完全改变默认管理员路径到仪表盘。 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 里就搞定。
- 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 , 更多后续功能大家可以去尝试