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("[email protected]", "Тема письма", "Текст письма", "From: [email protected] \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. Проверить работу сайта.