Мне нужно добавить правило на сервер, на котором размещено много сайтов. Это правило должно быть добавлено только в те файлы .htaccess, которые принадлежат сайту с доменом, начинающимся с «dev-» или «review-».
У меня есть это:
#!/bin/bash
HOMEFOLDER=/home/*
FILE='public_html/.htaccess'
for f in $HOMEFOLDER;
do
# Only enter to folders
if [ -d "$f" ]
then
cd "$f"
echo ">>>> $f"
then
echo ".htaccess file not found!"
else
if grep -Fxq "# rule 01312019" $FILE
then
echo "Rule 01312019 already added!"
else
# Back up .htaccess
TODAY=$(date +"%Y%m%d%H%M%S")
echo "Back up .htaccess"
mkdir -p backup
# Save a timestamped copy in case of multiple script runs.
cp $FILE backup/.htaccess.$TODAY
# Same name copy for easy rollback.
cp $FILE backup/.htaccess
# Add rule 01312019
echo "Adding rule 01312019"
echo "++++++"
echo "# rule 01312019" >> $FILE
echo 'SetEnvIf Host "^dev-|^review-" INTERNAL' >> $FILE
echo "# set header only if internal domain" >> $FILE
echo "Header set X-Robots-Tag "noindex, nofollow, noarchive" env=INTERNAL" >> $FILE
fi
fi
echo ""
fi
done;
Я знаю, что регулярное выражение не подходит. Мне нужен правильный способ написать это.
Спасибо.