欢迎访问艾立兹站 Aliz- 专注建站教程与技术分享
您当前的位置:首页 > 建站教程 > WordPress 建站

WordPress 修改后台登录地址完整教程|插件一键修改 + 无代码 Nginx/IIS 伪静态规则,防暴力破解

时间:2026-07-27 20:21:39  来源:aliz.cn  作者:SKY  阅读:

前言

搭建 WordPress 站点后,默认后台登录地址为 /wp-admin、登录页面 /wp-login.php。互联网大量扫描机器人会 24 小时批量爆破这两个固定路径,不断尝试弱密码撞库,极易造成管理员账号泄露、网站被入侵挂马。

修改后台登录入口,属于低成本、高收益的基础安全加固手段。本文分新手插件方案(零风险)、主题代码方案、服务器伪静态方案三套,分别适配 Apache、Nginx、Windows IIS 三种服务器,同时解决修改后被锁无法登录、CDN 缓存失效、HTTPS 兼容等高频问题,适合aliz.cn所有 WordPress 教程站点落地使用。

重要提醒:修改登录地址属于隐藏式防护,不能替代强密码、登录次数限制、两步验证,建议多重安全手段搭配使用。

一、方案一:WPS Hide Login 插件一键修改(90% 站长首选,推荐)

1.1 插件优势

  1. 轻量无冗余代码,不修改数据库、不改动核心程序文件;
  2. 全服务器兼容:Nginx/Apache/IIS/LiteSpeed 通吃;
  3. 禁用插件一键恢复原始登录地址,不怕操作失误锁站;
  4. 自动拦截默认wp-adminwp-login.php访问,直接返回 404。

1.2 详细操作步骤

  1. 后台 → 插件 → 安装插件,搜索 WPS Hide Login,安装并启用;
  2. 启用后自动跳转设置页,也可手动进入:设置 → WPS Hide Login
  3. 核心两项配置:
  • Login URL(自定义登录路径) 不要使用admin、login、backend、wpadmin这类极易被猜解的词汇,建议字母 + 数字组合,示例: admin-entry-629safe 最终登录地址:https://域名/admin-entry-629safe
  • Redirection URL(默认地址访问跳转) 填写404,非法访问默认登录页直接抛出 404 错误页面。
  1. 点击保存,立刻把新登录网址收藏浏览器书签,或记录在备忘录

1.3 锁站紧急找回方法(忘记新地址必看)

如果后续忘记自定义登录路径,无法进入后台:

  1. 宝塔文件管理器 /ftp 进入网站目录 wp-content/plugins/
  2. 把插件文件夹 wps-hide-login 重命名为 wps-hide-login-bak
  3. 插件自动失效,恢复原始wp-admin登录入口,登录后改回文件夹名称重新设置即可。

1.4 进阶安全搭配

安装该插件后,搭配Limit Login Attempts Reloaded限制错误登录次数,彻底杜绝暴力破解。

二、方案二:无插件 functions.php 代码修改(纯代码轻量化方案)

不想增加插件依赖,直接在子主题 functions.php添加代码(优先子主题,避免主题更新被覆盖)。

2.1 操作步骤

  1. 后台 → 外观 → 主题文件编辑器 → 找到functions.php
  2. 拉到文件最底部,粘贴下面代码;
  3. 将代码内 my-wp-login-2026 替换为你自己的自定义路径。
<?php
/**
 * WordPress 自定义登录地址,屏蔽默认wp-login.php
 * 自定义路径:域名/my-wp-login-2026
 */
// 修改全局登录跳转链接
add_filter('login_url', 'aliz_custom_wp_login_url', 10, 3);
function aliz_custom_wp_login_url($login_url, $redirect, $force_reauth) {
    $new_url = home_url('/my-wp-login-2026');
    if ($redirect) {
        $new_url = add_query_arg('redirect_to', urlencode($redirect), $new_url);
    }
    return $new_url;
}

// 拦截访问默认wp-login.php,返回404
add_action('template_redirect', 'aliz_block_default_login');
function aliz_block_default_login() {
    $request = $_SERVER['REQUEST_URI'];
    // 禁止直接访问wp-login.php
    if (strpos($request, 'wp-login.php') !== false && !is_user_logged_in()) {
        status_header(404);
        nocache_headers();
        include(get_404_template());
        exit;
    }
}

// 伪静态解析自定义登录路径
add_action('init', 'aliz_rewrite_login_rule');
function aliz_rewrite_login_rule() {
    add_rewrite_rule('^my-wp-login-2026$', 'wp-login.php', 'top');
}

2.2 生效收尾

  1. 保存代码;
  2. 后台 设置 → 固定链接,点击一次保存,刷新伪静态规则;
  3. 测试新地址登录,访问/wp-login.php自动跳 404。

2.3 缺陷说明

仅修改登录页面入口,无法拦截直接访问/wp-admin后台文件夹,建议搭配下文服务器规则一起使用。

三、方案三:服务器伪静态规则全局屏蔽(最高安全性,技术站长)

直接在服务器配置拦截默认登录地址,外部无法扫描探测,分为 Nginx、Apache、Windows IIS 三套规则,按需复制。

3.1 Linux Nginx 站点配置(宝塔 Nginx)

打开站点配置文件 server {} 内部添加,重载nginx -s reload生效

# 自定义登录跳转 替换为你的路径
location /my-wp-admin-safe {
    try_files $uri $uri/ /wp-login.php?$query_string;
}
# 拦截默认登录页与后台目录,返回404
location ~* ^/(wp-login\.php|wp-admin) {
    return 404;
}

3.2 Apache 服务器 .htaccess 规则

网站根目录.htaccess,放在 WordPress 默认规则上方

# 自定义登录访问
RewriteRule ^my-wp-admin-safe$ wp-login.php [L,NC]
# 禁止访问默认登录地址
RewriteRule ^wp-login\.php$ - [R=404,L]
RewriteRule ^wp-admin/(.*)$ - [R=404,L]

3.3 Windows IIS web.config 规则(你当前服务器环境)

直接粘贴到站点web.config<system.webServer>内部,IIS 自动加载无需重启

<rewrite>
    <rules>
        <!-- 自定义登录地址访问 -->
        <rule name="custom-login-url" stopProcessing="true">
            <match url="^my-wp-admin-safe$" />
            <action type="Rewrite" url="wp-login.php" appendQueryString="true" />
        </rule>
        <!-- 拦截默认wp-admin、wp-login.php 返回404 -->
        <rule name="block-wp-admin-login" stopProcessing="true">
            <match url="^(wp-admin/.*|wp-login\.php)$" />
            <action type="CustomResponse" statusCode="404" subStatusCode="0" statusReason="Not Found" responseMode="File" />
        </rule>
    </rules>
</rewrite>

3.4 本方案优缺点

✅优点:底层服务器直接拦截,任何插件、代码都无法绕过,防扫描效果最强; ❌缺点:更换服务器、迁移站点需要重新配置规则,新手操作门槛偏高。

四、高频踩坑 & 故障修复大全

问题 1:修改后登录跳转无限循环、打不开后台

  1. 清除 WordPress 缓存、宝塔 Redis / 文件缓存、CDN 缓存;
  2. 后台重新保存一次固定链接,刷新重写规则;
  3. Nginx 检查是否开启伪静态、是否重载配置文件。

问题 2:Cloudflare CDN 环境修改不生效

CDN 缓存了旧页面规则,需要在 Cloudflare 后台清除全站缓存,开启开发模式测试。

问题 3:IIS 环境规则不生效、依旧能访问 wp-admin

  1. web.config 编码必须为 UTF-8,不能有多余空格;
  2. 宝塔站点开启 URL 重写模块;
  3. 关闭站点防盗链拦截内部重写请求。

问题 4:退出登录后跳回原始 wp-login.php

  1. WPS Hide Login 插件内开启退出重定向;
  2. functions.php 代码增加退出钩子统一跳转新地址。

问题 5:多用户站点其他管理员无法登录

告知所有管理员新登录地址,不要通过收藏旧链接进入后台。

五、配套进阶安全加固(建议一并操作)

  1. 限制后台登录 IP:Nginx/IIS 只放行自己办公 IP 访问登录页面;
  2. 禁用后台文件编辑器:wp-config.php添加代码
define( 'DISALLOW_FILE_EDIT', true );
  1. 删除站点根目录readme.htmllicense.txt,隐藏 WordPress 版本号;
  2. 管理员用户名不要使用adminroot等弱用户名;
  3. 开启登录两步验证,从根源杜绝账号被盗。

六、三种方案最终选型建议

  1. 新手、追求零风险、一键恢复 → 方案一 WPS Hide Login 插件;
  2. 极简无插件、不想依赖第三方 → 方案二 子主题 functions.php 代码;
  3. 技术站长、最高防护等级、多站点统一管控 → 方案三 服务器伪静态规则。

本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载

发表评论 共有0条评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
公众号二维码

扫码关注公众号
获取全套技术教程