6. Сайт на поддомене
Зачастую может возникнуть ситуация, когда мы хотим, помимо основного сайта на домене example.ru, разместить и поддомен вида forum.example.ru, на котором разместим сайт с уникальным контентом. Это может быть сайт-одностраничник, форма авторизация или что-то более уникальное.
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^forum\.example\.ru$
RewriteCond %{REQUEST_URI} !/forum/
RewriteRule ^(.*)$ /forum/$1
Данная директива, размещенная с нужными значениями в файле .htaccess в папке основного сайта, позволит, обращаясь к поддомену, забирать и отдавать контент из желаемой директории forum.
Такой вариант позволит не создавать каждый раз новый сайт в разделе «Сайты», когда мы хотим разместить проект на поддомене, отличный от того, который открывается при обращении к основному домену.
10. DMARC и отправка почты
Если вы отправляете почту с сайта в адрес своих подписчиков/пользователей, вы можете столкнуться с ситуацией, когда такой пользователь не получит ожидаемое письмо. Почему так произошло?
Зачастую проблема может быть связана с тем, что в качестве отправителя указывается какой-либо сторонний домен, а не ящик на используемом вами домене, для которого уже были автоматически добавлены SPF запись и DKIM подпись. Для примера воспользуемся простейшим скриптом, который использует функцию mail():
<?php if (mail("poluchatel@gmail.com", "Тема письма", "Текст письма",
"From: example@mail.ru \r\n")) {
echo "Сообщение принято к отправке";
} else {
echo "Текст ошибки";
}
?>
В текущей ситуации нас интересует указываемое значение «From». Если мы произведем отправку письма при использовании текущего содержимого скрипта, письмо не поступит получателю, а в почтовом логе появится следующая ошибка:
Настройка сайта
1. Открываем один из конфигурационных файлов. Ещё раз:
2. Ищем имя базы данных, пароль от базы данных и старые пути.
3. Изменяем пароль от базы данных в Панели Управления нового хостинга на тот, что указан в конфиге.
4. Вне зависимости от CMS, будь то страшный ModX или WordPress, делаем следующее:
а. Изменяем привязку сайта к базе данных во всех файлах:
for i in `find . -type f ! -name '*.sql' -exec grep -H -l NAME_DB_OLD {} \;| cut -d' ' -f1`; do sed -i 's/NAME_DB_OLD/NAME_DB_NEW/g' $i; done
б. Изменяем пути во всех файлах сайта:
for i in `find . -type f ! -name '*.sql' -exec grep -H -l '/home/user/www/site/old/' {} \;| cut -d' ' -f1`; do sed -i 's#/home/user/www/site/#home/c/cl12345/example.com/public_html#g' $i; done
5. Проверить работу сайта.
