网站跳转到另外一个网站怎么解决

我自己的网站博客就栽过这个跟头。去年某天打开后台,跳转发现所有文章页面都弹到了某个赌博网站。到外域名没变,个网HTTPS证书也正常,站解但页面源码里被塞进了一段加密JS——典型的网站挂马。这类跳转分两种:服务器被入侵改代码,跳转或者浏览器本地被劫持。到外先别急着重装系统,个网按下面顺序排查,站解多数情况能自己解决。网站

第一步看响应头。跳转用浏览器开发者工具(F12)打开网络面板,到外刷新页面,个网找到主文档请求,站解查看响应头里的Location字段。如果出现301或302状态码,而且Location指向陌生域名,那就是服务端做了重定向。这时候要检查网站根目录的.htaccess(Apache)或nginx配置文件,重点看有没有多余的rewrite规则。我那次就是.htaccess里被加了三行规则,把所有带文章ID的URL都302到了赌博站。

如果响应头正常,问题可能出在数据库。有些CMS会把跳转代码存进文章内容或主题选项里。用phpMyAdmin打开数据库,搜索common的跳转函数名,比如window.location、document.location这类关键词。最好把数据库导出成SQL文件,用文本编辑器搜索——数据库里直接搜可能被加密函数干扰。找到后删掉对应字段内容,注意别误删正常数据。

还有一种隐蔽情况:主题或插件后门。黑客会在正常文件末尾追加一段混淆代码,平时不生效,检测到搜索引擎爬虫或特定IP段才触发。检查文件修改时间,找最近48小时内被改动过的PHP文件。用diff命令对比官方原版文件,没装版本控制的就重新下载覆盖。记得把网站目录下所有可疑文件权限改成644,目录改成755,防止再次被写入。

服务器端排查完,再看本地环境。如果你用Chrome或Edge,检查“设置→隐私→安全→安全DNS”,有些恶意DNS会劫持特定域名。换个浏览器测试,如果只有原浏览器跳转,那就是浏览器被装了恶意扩展或修改了快捷方式。Win+R输入inetcpl.cpl打开Internet选项,连接标签页点局域网设置,取消“为LAN使用代理服务器”的勾选——有些流氓软件会挂全局代理做流量劫持。

最容易被忽略的是路由器劫持。家里光猫或路由器被改了DNS,所有设备访问网站都可能被导向钓鱼站。登录路由器管理页面,看DNS设置是不是被改成了奇怪的地址,比如或这类境外IP。如果路由器管理密码还是默认的admin,赶紧改掉。我见过一个案例,用户网站本身干净,但整个家庭网络都被劫持,换手机流量访问就正常。

排查完所有可能,最后做一次全站文件哈希校验。用宝塔面板或ssh执行find /www/wwwroot/你的域名 -type f -mtime -3,列出最近三天修改的文件。再配合在线查毒工具扫描一下。如果确定是服务器被入侵,改掉所有FTP、数据库、面板密码,并开启SSH密钥登录——密码登录太容易爆破。

说句实在话,大部分个人站长遇到跳转问题,90%是网站代码被篡改,剩下10%才是本地环境。先查服务器准没错。别急着删文件,先备份一份被篡改的代码,留着分析攻击路径。处理完记得给网站目录加个文件监控,哪怕用crontab每五分钟比对一次文件哈希也行——总比下次被挂马了手忙脚乱强。我的博客现在用了个简单的Python脚本,每天凌晨自动扫描可疑文件改动,半年没再出过问题。