SSHで一括.htaccess編集を実行する方法はありますか?
次のコンテンツを含む複数のウェブサイトがあります。
/home/user/website1/public_html/.htaccess
/home/user/website2/public_html/.htaccess
...
ファイルの一番下にいくつかの新しい行を追加したいです(全体の.htaccessを置き換えるのではありません)。たとえば、次のようになります。
<FilesMatch ".+\.php$">
Require all denied
</FilesMatch>
これを行う方法はありますか?
ベストアンサー1
別のオプションはシェルスクリプトを使用することです。
#!/bin/sh
for htaccess in home/user/website*/public_html/.htaccess
do
cat >> "$htaccess" << 'EOF'
<FilesMatch ".+\.php$">
Require all denied
</FilesMatch>
EOF
done
スクリプトは、/home/user の下の「website」で始まる各ディレクトリを繰り返し、public_html/.htaccess ファイルに必要な行を追加します。私は一つを使う先頭ここのドキュメントこのように、シェルは何も解釈するのに「助けにはならない」ことはありません。
前の内容と追加された内容を空行で区切りたい場合は、<Filesmatch
挿入したい部分の前(cat
行の直後)に挿入してください。