Renomeia todos os arquivos .htaccess no servidor

0

No meu localhost eu habilitei a avaliação do htaccess no apache2.conf e agora continuo recebendo 500 (Internal Server Error) .

Eu acho que tenho alguns arquivos .htaccess defeituosos que não sendo avaliados não causaram nenhum problema antes, mas agora estão causando o erro. Eu usei find /var/www/ -name ".htaccess" -print para encontrar os arquivos, mas eles são muitos.

Por enquanto, gostaria de renomear TODOS os arquivos .htaccess para old.htaccess , onde quer que estejam. Usando: rename .htaccess old.htaccess resulta neste erro no terminal:% syntax error at (eval 1) line 1, near "." .

Quebra dos nomes dos arquivos como rename ".htaccess" "old.htaccess" produz o mesmo erro.

Qual é o comando correto para usar.

    
por Majid Fouladpour 29.08.2015 / 10:07

1 resposta

0

rename não funciona assim; você precisa especificar um padrão e uma substituição PCRE (Perl Compatible Regular Expression) para trabalhar com ele.

Para este propósito, mv é suficiente; uma maneira rápida de renomear todos os arquivos .htaccess em /var/www seria usar find em si:

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

Exemplo de saída em uma hierarquia de teste:

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
    
por kos 29.08.2015 / 10:20