重命名服务器上的所有 .htaccess 文件

重命名服务器上的所有 .htaccess 文件

在我的本地主机上,我已在 apache2.conf 中启用了 htaccess 评估,现在我继续收到500 (Internal Server Error)

我认为我有一些有问题的 .htaccess 文件,之前没有评估这些文件不会造成任何问题,但现在却导致错误。我曾经find /var/www/ -name ".htaccess" -print找到过这些文件,但它们太多了。

现在,我想将所有.htaccess文件重命名为old.htaccess它们原来的名称。使用:rename .htaccess old.htaccess会导致终端出现此错误:
syntax error at (eval 1) line 1, near "."

像这样包装文件名rename ".htaccess" "old.htaccess"会产生相同的错误。

正确的命令是什么?

答案1

rename不能那样工作;您需要指定 PCRE(Perl 兼容正则表达式)模式和替换才能使用它。

对于这个目的来说,这就足够了;重命名所有文件的mv快速方法是使用它本身:.htaccess/var/wwwfind

find /var/www -type f -name '.htaccess' -execdir mv {} old.htaccess \;

测试层次结构的示例输出:

user@debian ~/tmp % tree -a
.
├── 1
│   └── .htaccess
├── 2
│   └── .htaccess
└── 3
    └── .htaccess

3 directories, 3 files
user@debian ~/tmp % find . -type f -name '.htaccess' -execdir mv {} old.htaccess \;       
user@debian ~/tmp % tree -a
.
├── 1
│   └── old.htaccess
├── 2
│   └── old.htaccess
└── 3
    └── old.htaccess

3 directories, 3 files

相关内容