Назад | Перейти на главную страницу

Add rule in .htacces only if domain name begins with <regular-expression></regular-expression>

Мне нужно добавить правило на сервер, на котором размещено много сайтов. Это правило должно быть добавлено только в те файлы .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;

Я знаю, что регулярное выражение не подходит. Мне нужен правильный способ написать это.

Спасибо.