На моем локальном хосте я включил оценку htaccess в apache2.conf и теперь продолжаю получать 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"
, приводит к той же ошибке.
Какую правильную команду использовать.
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