You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

2019年如何在WordPress站点终止IE11支持?方案及User Agent适用性咨询

嘿,针对你2019年要在WordPress站点终止IE11支持的需求,我来分享几个最靠谱的方案,顺便聊聊User Agent的适用性问题~

2019年阻止IE11访问WordPress站点的最佳方案

首先明确回答你关于User Agent的疑问:在这个场景下,User Agent完全够用。你说得对,IE11用户几乎不会伪造UA——毕竟这个群体大多是不太懂技术的普通用户,或者是企业环境里被迫使用旧浏览器的人,伪造UA对他们来说门槛太高。所以基于UA检测来拦截IE11,误判率极低,完全可以放心用。

接下来是具体的实现方式,按优先级推荐:

1. 服务器端拦截(最高效)

这种方式在请求到达WordPress之前就处理,性能最好,不会浪费WordPress的资源。

Apache服务器(.htaccess)

在你的WordPress根目录的.htaccess文件里添加这段代码:

<IfModule mod_rewrite.c>
RewriteEngine On
# 检测IE11的User Agent特征
RewriteCond %{HTTP_USER_AGENT} "MSIE 11" [OR]
RewriteCond %{HTTP_USER_AGENT} "Trident/7\.0; rv:11\.0"
# 重定向到自定义提示页面(把/ie-not-supported/换成你实际的页面路径)
RewriteRule ^(.*)$ /ie-not-supported/ [R=302,L]
</IfModule>

Nginx服务器

在你的站点配置里添加:

if ($http_user_agent ~* "MSIE 11|Trident/7\.0; rv:11\.0") {
    return 302 /ie-not-supported/;
}

2. WordPress主题/插件层面处理

如果你没有服务器配置权限,可以在WordPress内部处理。

主题functions.php添加代码

打开当前主题的functions.php,加入这段代码:

add_action('template_redirect', 'block_ie11_users');
function block_ie11_users() {
    $ua = $_SERVER['HTTP_USER_AGENT'];
    // 检测IE11的UA特征
    if (strpos($ua, 'MSIE 11') !== false || strpos($ua, 'Trident/7.0; rv:11.0') !== false) {
        // 输出403状态和自定义提示页面
        status_header(403);
        ?>
        <!DOCTYPE html>
        <html>
        <head>
            <title>浏览器不支持提示</title>
            <style>
                body { font-family: Arial, sans-serif; max-width: 600px; margin: 50px auto; padding: 20px; text-align: center; }
                h1 { color: #dc3232; }
                .browser-list { list-style: none; padding: 0; margin: 20px 0; }
                .browser-list li { margin: 10px 0; }
            </style>
        </head>
        <body>
            <h1>抱歉,你的浏览器已过时</h1>
            <p>你正在使用的IE11浏览器发布已超过5年,不再受本站支持。</p>
            <p>请下载以下现代浏览器之一,继续访问本站:</p>
            <ul class="browser-list">
                <li>Google Chrome</li>
                <li>Mozilla Firefox</li>
                <li>Microsoft Edge</li>
            </ul>
        </body>
        </html>
        <?php
        exit;
    }
}

这段代码会在用户访问时检测UA,如果是IE11,直接输出403状态和提示页面,不会加载WordPress的其他内容。

插件替代

如果不想改代码,可以找类似“Browser Update”或者专门的旧浏览器拦截插件,2019年这类插件大多已经支持IE11拦截,不过自定义程度可能不如手写代码。

3. 自定义提示页面的要点

不管用哪种方式,提示页面要做到:

  • 清晰说明原因:明确告知IE11已过时(发布5年以上),不再适配
  • 给出明确的解决方案:列出推荐的现代浏览器,不用加外链,直接写名称就行
  • 页面简洁易读:避免复杂样式,确保IE11本身也能正常显示这个提示(毕竟用户还在用IE11看这个页面)

最后再重申一次:2019年这个时间点,用User Agent检测IE11是完全可靠的方案,因为目标用户群体几乎不会伪造UA,误判的概率可以忽略不计。

内容的提问来源于stack exchange,提问作者Hashim Aziz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:59:56