我拥有用于暂存网站的 Web 服务器的 shell 访问权限。不用说,上面有大量“暂存”网站。
路径就像:/home/ACCOUNT/public_html
我们已经设置了一个全局htpasswd
来“限制”访问(主要是防止被谷歌蜘蛛抓取……)
我发现我的开发“团队”Allow From All
在处理网站时坚持将一个添加到网站的 .htaccess 文件中,然后忘记将其删除。
我该如何删除那行?注意,它可以是任何字母大小写。我甚至见过alLow frOm ALl
我以为sed
可以做到这一点,我可以简单地循环目录来找到必要的.htaccess 文件,但我有点sed
文盲......
答案1
类似于从最顶层目录开始:
find . -name '.htaccess' | xargs perl -pi -e 's/\s*allow\s+from\s+all\s*//i'
如果要保留备份文件,请替换-pi
为 (推荐)-pi.bak
将find
负责递归到所有子目录中,xargs
将对每个匹配项运行以下命令,该perl
命令类似于sed
中的整个正则表达式替换,s///
将根据空格和制表符的数量匹配所有allow from all
组合。最后/i
确保不区分大小写。
我建议您创建一个目录,.htaccess
在那里放一些文件,然后运行命令来尝试,然后再尝试将其应用到您的实时文件上。