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
相关产品推荐
相关产品推荐

