在我的本地主机上,我已在 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/www
find
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