cPanel中WordPress站点.htaccess全部拒访,如何批量修改配置
批量修复被篡改.htaccess的实操方案
你遇到的是恶意篡改导致的全站拦截问题,恶意规则直接禁止了所有PHP等可执行文件的访问,以下是可落地的批量处理方案:
方法1:通过cPanel终端批量修复(效率最高,适合2000+文件场景)
- 先执行备份命令,把所有.htaccess文件打包备份到账户根目录,避免操作失误丢失原有配置:
find ~/public_html -name ".htaccess" -type f | xargs tar -czf ~/htaccess_backup.tar.gz - 执行命令验证所有被篡改的.htaccess文件列表,确认范围无误:
find ~/public_html -name ".htaccess" -type f -exec grep -l "Order Allow,Deny Deny from all" {} \; - 执行批量替换命令,直接删除所有匹配的恶意规则段:
find ~/public_html -name ".htaccess" -type f -exec sed -i '/<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|suspected)$">/,/<\/FilesMatch>/d' {} \; - 若需要恢复WordPress默认的重写规则,可直接写入根目录的.htaccess文件即可:
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
方法2:通过cPanel文件管理器批量操作(适合不会使用命令行的用户)
- 登录cPanel进入「文件管理器」,点击右上角「设置」,勾选「显示隐藏文件(dotfiles)」后保存
- 在搜索框输入
.htaccess,搜索范围选择public_html目录,等待搜索结果加载所有匹配文件 - 选中所有搜索结果,右键选择「编辑」,使用编辑器内置的批量查找替换功能,把整段恶意规则全部替换为空即可
修复后安全建议
- 立刻修改cPanel、WordPress后台、FTP的所有账户密码,提升密码复杂度
- 全站点扫描文件,排查是否存在后门文件,避免再次被篡改
- 可以给所有.htaccess文件设置只读权限(权限值设为444),降低被再次篡改的风险
内容的提问来源于stack exchange,提问作者ludwig smith
相关产品推荐
相关产品推荐

