WordPress修改后台登录地址是指通过插件、代码或服务器配置将默认的 /wp-admin 或 /wp-login.php 登录入口替换为自定义地址,以提高后台安全性和隐蔽性。
使用 WPS Hide Login 插件
安装并启用 WPS Hide Login 插件,进入“设置”→“常规”,找到“登录地址”选项,将默认的 login 改为自己想要的自定义地址,my-secret-login,保存后原有的 /wp-login.php 和 /wp-admin 将无法直接访问,系统会自动跳转到首页或 404 页面,该插件不修改核心文件,升级 WordPress 后设置依然保留,是目前最简单、安全的方式。
注意事项:设置的自定义地址不要与现有页面或文章别名冲突;如果不记得自定义地址,可以通过 FTP 禁用插件目录来恢复默认登录地址。

通过 functions.php 添加重写规则修改登录地址
在主题的 functions.php 文件中添加以下代码:
//修改登录地址
add_action('init',function(){
add_rewrite_rule('^my-secret-login/?$','index.php?custom_login=1','top');
});
add_filter('query_vars',function($vars){
$vars[]='custom_login';
return$vars;
});
add_action('template_redirect',function(){
if(get_query_var('custom_login')==1){
includeABSPATH.'wp-login.php';
exit;
}
});保存代码后,需要在“设置”→“固定链接”中点击“保存更改”以刷新重写规则,此方法不依赖插件,但会占用一个自定义查询变量,并且对主题的 functions.php 有一定要求,代码错误可能导致网站无法访问,建议通过 FTP 修改前备份文件。
如果仍然直接访问 wp-login.php,可以再添加以下代码进行重定向:
//将默认登录地址重定向到首页
add_action('init',function(){
if(strpos($_SERVER['REQUEST_URI'],'wp-login.php')!==false){
wp_redirect(home_url('/'));
exit;
}
});使用 .htaccess 限制后台入口
如果使用 Apache 服务器,可以在站点根目录的 .htaccess 文件中添加规则,限制只有来自特定 IP 地址的访问者可以打开后台登录页面:
<IfModulemod_rewrite.c>
RewriteEngineOn
RewriteCond%{REQUEST_URI}^/wp-login\.php[OR]
RewriteCond%{REQUEST_URI}^/wp-admin$
RewriteCond%{REMOTE_ADDR}!^123\.123\.123\.123$
RewriteRule.*http://%{HTTP_HOST}/[R=302,L]
</IfModule>将 123.123.123 替换为你的固定公网 IP 地址,这样非指定 IP 的用户访问后台入口时会跳转到网站首页,无法打开登录页面,也可以使用“允许/拒绝”语法:
<Fileswp-login.php> OrderDeny,Allow Denyfromall Allowfrom123.123.123.123 </Files>
这种方法的优点是不影响 WordPress 程序本身,缺点是如果使用动态 IP,需要频繁修改配置;/wp-admin 路径仍可能存在部分暴露风险,需要结合其他安全规则一起使用。
在 Nginx 中配置自定义后台路径
Nginx 服务器可以通过 location 规则对后台入口进行重写或限制,以下配置可实现只有访问自定义地址 /my-admin 时才允许访问 WordPress 登录逻辑:
location=/wp-login.php{
if($remote_addr!~^123\.123\.123\.123$){
return403;
}
includefastcgi_params;
fastcgi_passunix:/var/run/php/php7.4-fpm.sock;
fastcgi_paramSCRIPT_FILENAME$document_root/wp-login.php;
}
location/my-admin{
rewrite^/my-admin/?$/wp-login.phplast;
}实际使用时需要根据自己的 PHP 版本和 FastCGI 路径进行调整,通过 Nginx 层修改后台入口需要一定的服务器配置经验,若配置错误可能导致 PHP 文件无法执行或网站无法访问,修改配置前建议先在测试环境验证。
直接修改 wp-login.php 文件名
该方法需要登录服务器,将根目录下的 wp-login.php 文件重命名为自定义文件名,mylogin.php,然后编辑该文件,将其内部所有 wp-login.php 字符串替换为 mylogin.php,同时需要在 wp-includes/general-template.php 中找到 site_url('wp-login.php') 相关引用并修改,具体操作步骤:
通过 FTP 或 SSH 连接到服务器,进入 WordPress 根目录。
下载
wp-login.php并另存为mylogin.php。在
mylogin.php中搜索wp-login.php,替换为mylogin.php。上传修改后的文件到根目录。
修改
wp-includes/general-template.php中与登录地址相关的调用,将wp-login.php改为mylogin.php。
这种方式虽然从表面上看隐藏了默认登录文件,但并非推荐做法,WordPress 核心升级会覆盖这些修改,导致自定义登录文件失效或出现链接错误;如果替换不完整,还可能造成登录功能异常,仅建议在无法使用插件且对 WordPress 核心文件结构非常熟悉的情况下采用。
结合登录安全插件与两步验证
修改后台登录地址后,还可以配合其他安全插件来增强后台保护,例如安装 Wordfence、Solid Security(原 iThemes Security)等,启用登录页面的验证码、限制登录尝试次数、强制 SSL、开启双重身份验证,部分插件也带有“隐藏登录页面”功能,Solid Security 可以在后台设置“隐藏登录区域”,将登录地址改为自定义路径,并支持设置访问白名单和锁定时长,这类插件通常提供图形化设置界面,适合不熟悉代码的用户。
在使用多个安全插件时,需要避免功能冲突,例如同时启用两个修改登录地址的插件可能导致白屏或无法登录,建议只保留一个具有隐藏登录功能的插件,并定期测试自定义地址是否可用。
通过常量定义或环境变量控制登录地址
部分托管平台和高级 WordPress 配置支持通过 wp-config.php 中的常量来限制后台访问,例如可以添加以下代码限制登录页面仅允许特定 IP:
if(isset($_SERVER['REQUEST_URI'])&&strpos($_SERVER['REQUEST_URI'],'wp-login.php')!==false){
$allowed_ips=array('123.123.123.123');
if(!in_array($_SERVER['REMOTE_ADDR'],$allowed_ips)){
header('HTTP/1.1403Forbidden');
exit;
}
}将代码放在 wp-config.php 文件的开头位置,可以在 WordPress 加载前拦截非法请求,该方式不修改后台地址,但能有效阻止非白名单 IP 访问登录页面,若需要修改入口地址,仍然建议使用插件或服务器规则。
操作时的注意事项
修改后台登录地址前,务必确认网站管理员邮箱可用,并备份网站文件和数据库,使用代码方式时,优先通过 FTP 或 SSH 修改 functions.php 和服务器配置文件,避免在 WordPress 后台的“主题文件编辑器”中直接编辑,因为一旦保存错误会导致后台无法进入,可以使用 WordPress 恢复模式或通过 FTP 删除错误代码来恢复。
如果忘记自定义登录地址,可以通过以下方式恢复:登录服务器或 FTP,将插件目录重命名以禁用插件;或者恢复 functions.php 文件的备份;对于 .htaccess 或 Nginx 配置,删除或注释相关规则后重启服务,不要直接删除 wp-login.php 文件,否则 WordPress 登录功能会完全失效。
常见失效原因
自定义后台登录地址后,如果出现打不开登录页、无限重定向、404 等情况,通常有以下原因:固定链接未刷新;插件与其他缓存插件冲突;CDN 缓存了登录页;自定义地址与已有页面重名;服务器规则顺序错误,排查时可以先清空浏览器缓存和 Cookies,关闭 CDN 缓存登录页面的功能,再检查插件设置和服务器配置文件。