Похоже, вы поместили эти директивы не в том месте в вашем файле .htaccess
.Они должны идти в начале файла, а не в конце.
Эти директивы выглядят типично для перенаправлений, генерируемых cPanel.cPanel всегда помещает перенаправления в конец файла .htaccess
(что часто неверно).
Если у вас есть фронт-контроллер до этого (например, используемый в WordPress), то вы обнаружите, что эти директивыбудет обрабатываться только для запросов к корню документа (т. е. на «домашнюю страницу»), поскольку все остальные запросы будут остановлены фронт-контроллером.
Эти директивы также могут быть упрощены:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com [NC]
RewriteRule (.*) https://www.newdomain.com/$1 [R=301,L]
Я удалил $
с конца CondPattern , чтобы он соответствовал полному доменному имени (оканчивающемуся точкой).
Нет также необходимостиобратная косая черта экранирует двоеточия, косые черты и точки в подстановке RewriteRule
, поскольку эти символы здесь не несут особого значения (это не регулярное выражение).(Это ненужное экранирование очень типично для cPanel.)