301 редирект с поддомена на домен: 301 редирект c сайта с поддомена на основной домен через htaccess в 2022

Все виды редиректов для .htaccess

Содержание

  1. Редиректы внутри домена
  2. 301 редирект с домена без WWW на домен с WWW
  3. С домена с WWW на без WWW
  4. С одной статической страницы на другую
  5. С Get параметрами
  6. С со страницы категории на другую
  7. Добавляем к урлу слеш на конце
  8. Убираем с конца урла слеш
  9. С файлов в папке на заданный файл
  10. С файлов из заданной папки кроме, определенного файла
  11. Для заданного файла в различных директориях
  12. Убираем все GET-параметры после знака вопроса
  13. Редиректы с (под)домена на домен
  14. Со статической страницы одного домена на страницу другого домена
  15. С главной страницы одного домена на главную страницу другого домена
  16. Со всех страниц одного домена на такие же страницы другого домена
  17. Со всех страниц одного домена на главную другого домена (с учетом www)
  18. Редирект всех поддоменов на главное зеркало
  19. С поддомена на основной домен второго уровня
  20. С папки одного домена на папку другого домена
  21. Со всех файлов домена, кроме папки администратора bitrix

Обновлено: 23 декабря, 2021

Редиректы внутри домена

301 редирект с домена без WWW на домен с WWW

RewriteCond %{HTTP_HOST} ^site\. (.*)$ http://www.newsite.ru/new/ [L,R=301]

Рейтинг автора

Написано статей

(7 оценок, среднее: 5,00 из 5)
Для того чтобы оценить запись, вы должны быть зарегистрированным пользователем сайта.

Загрузка…

301 / 302 редирект c сайта на поддомен через Cloudflare пошаговая инструкция

Как сделать 301 / 302 редирект c сайта на поддомен средствами Cloudflare?

На просторах интернета есть масса инструкций как сделать редирект через файл .htaccess. Но тем кто пользуется сервисом Cloudflare, редирект на субдомен сделать намного проще.

Простенькая инструкция по настройке редиректа

Пример настройки 301 редиректа в сервисе Cloudflare с https://new.thin.kiev.ua на https://pro.thin.kiev.ua

  1. Создаем запись «А» с своим IP адресом

  2. Далее идём на страницу Page Rules -> Create Page Rule и в прописываем наш поддомен или домен, с которого делаем редирект.
  3. В «Then the settings are» выбираем из списка «Forwarding URL» и далее уже выбираем 301 или 302 редирект. Так же прописываем домен, на который делаем редирект.

К сожалению, в бесплатной версии Cloudflare, таких правил можно создать всего три.


Подробная инструкция по настройке 301 редиректа средствами Cloudflare на русском

 Вы можете определить правило страницы для пересылки или перенаправления трафика на другой URL-адрес с помощью   приложения Rules на панели управления Cloudflare.

Для работы субдоменов правил страниц требуется запись DNS с «оранжевым облаком» . Правила страницы не будут применяться к субдоменам, которые не существуют в DNS или не направляются в Cloudflare.
Чтобы настроить переадресацию или перенаправление URL-адресов:

  1. Войдите в свою учетную запись Cloudflare.
  2. Щелкните соответствующую учетную запись Cloudflare для домена, в который вы хотите добавить переадресацию URL.
  3. Выберите Rules >Page Rules.
  4. В разделе «Page Rules» нажмите «Create Page Rule». Откроется  диалоговое окно «Создать правило страницы для <вашего домена> ».
  5. В разделе If the URL matches, введите URL-адрес или шаблон URL-адреса, который должен соответствовать правилу. 
  6. Затем нажмите «Add a Setting» .
  7. В раскрывающемся меню выберите Forwarding URL  (URL-адрес пересылки).
  8. Щелкните «Select Status Code»  и выберите 301 (постоянное перенаправление) или 302 (временное перенаправление).
  9. Введите целевой URL для редиректа.
  10. Для завершения нажмите «Save and Deploy» (Сохранить и развернуть).

Примеры редиректов:

Трафик должен проходить через Cloudflare, чтобы правила страниц работали. Если вы используете Cloudflare только для DNS, правила страниц неактивны.
Представьте, что вы хотите, чтобы посетители легко переходили на ваш сайт по разным шаблонам URL. Например, шаблоны URL правил страницы * www.example.com / products  и  * example.com / products  совпадают:

 http://example.com/products http://www.example.com/products https://www.example.com/products https://blog.example.com/products
 https://www.blog.example.com/products

но не совпадают:

http://www.example.com/blog/products (дополнительный каталог перед +)
или
http: //www.example.comproducts (без косой черты в конце)

После того, как вы создали шаблон, который соответствует вашему желанию, щелкните   переключатель « Пересылка». Это открывает поле, в котором вы можете ввести адрес, на который я хочу пересылать запросы.

https://example.com/products

Если я введу указанный выше адрес в поле пересылки и нажму «Добавить правило» , в течение нескольких секунд любые запросы, соответствующие введенному мной шаблону, будут автоматически перенаправлены с перенаправлением 302 на новый URL-адрес.

Как мне правильно реализовать DNS и перенаправления с поддомена на домен

Оптимизация SEO больше тема для сайта вопросов и ответов Webmasters SE.

Технически:

Во-первых, нужна ли нам больше DNS-запись для поддомена?

Вам нужна DNS-запись для поддомена xyz.example.co.uk , чтобы оставалась возможность существования любого вида перенаправления. Без этой записи DNS любой запрос для xyz.example.com завершится ошибкой «хост не найден» или аналогичной ошибкой DNS…

Для перенаправления в веб-браузерах должен быть веб-сервер, работающий на любом хосте, на который вы указываете поддомен xyz.example.co.uk .

Если у вас есть политика HSTS и/или старый субдомен также был доступен по HTTPS, вам также необходимо настроить этот веб-сервер с действительным сертификатом SSL для xyz.example.co.uk .

Если вы укажете субдомен xyz.example.co.uk на тот же веб-сервер, который используется для вашего основного веб-сайта (например, с записью CNAME), у вас есть два варианта:

  • Вы создаете дополнительную запись «VirtualHost» специально для xyz. example.co.uk
    (рекомендуемое мной решение, так как оно сохраняет конфигурацию красивой и отдельной)
  • Вы обрабатываете запросы на xyz.example.co.uk на существующем веб-сайте www.example.com . Затем:
    • либо вы не выполняете никакой специальной обработки, а затем http://xyz.example.co.uk отобразит индексную страницу http://www.example.com и запрос на http://xyz.example.co.uk/page2/page3 отобразит страницу http://www.example.co.uk/page2/page3 , если она существует, или страницу с ошибкой 404, если ее нет. .
    • в качестве альтернативы вы настраиваете правила перезаписи, которые срабатывают, когда xyz.example.co.uk используется для доступа к вашему сайту и выполняет перенаправление, которое вы также можете выполнять с отдельного виртуального хоста
    • .

Самая простая конфигурация в стиле апача (раз уж вы говорили о мерзости то есть . htaccess ) использует директиву Redirect , которая переписывает запросы либо для http:// , либо для https://xyz.example.com/service/foo.txt на https://www. example.com/service/foo.txt :

 # существующий виртуальный хост для www.example.com
<Виртуальный хост *:80>
    Имя сервера www.example.com
    ...

<Виртуальный хост *:443>
    Имя сервера www.example.com
    SSLCertificateFile "/etc/apache2/conf/ssl/www.example.com.crt"
    SSLCertificateKeyFile "/etc/apache2/conf/ssl/www.example.com.key"
    ...

# новые минимальные записи VirtualHost для xyz.example.co.uk
<Виртуальный хост *:80>
    Имя сервера xyz.example.com
    Перенаправление "/" "https://www.example.com/"

<Виртуальный хост *:443>
    Имя сервера xyz.example.com
    SSLCertificateFile "/etc/apache2/conf/ssl/xyz.example.com.crt"
    SSLCertificateKeyFile "/etc/apache2/conf/ssl/xyz.example.com.key"
    Перенаправление "/" "https://www. example.com/"

 

Всегда начинайте тестирование своих перенаправлений с временного перенаправления, так как постоянные перенаправления кэшируются вашим браузером, что затрудняет исправление любых ошибок.

Поскольку вы уже упомянули, что контент из старого поддомена не будет найден в каком-то месте, указанная выше директива Redirect может оказаться не лучшим решением.

Вместо этого вы можете выбрать перенаправление всех старых URI на одну целевую страницу (объясняя, что XYZ устарел, пожалуйста, изучите новый сайт, используя эту карту сайта.) с Директива RedirectMatch :

 # новые минимальные записи VirtualHost для xyz.example.co.uk
<Виртуальный хост *:80>
    Имя сервера xyz.example.com
    RedirectMatch "*" "https://www.example.com/xyz-is-deprecated.html"

<Виртуальный хост *:443>
    Имя сервера xyz.example.com
    SSLCertificateFile "/etc/apache2/conf/ssl/xyz.example.com.crt"
    SSLCertificateKeyFile "/etcl/apache2/conf/ssl/xyz. example.com.key"
    RedirectMatch "*" "https://www.example.com/xyz-is-deprecated.html"

 

Наиболее трудоемким является сопоставление каждой старой страницы в поддомене xyz с новыми страницами на вашем основном веб-сайте. Это можно сделать, например, с помощью директивы RewriteMap .

Наиболее простым сопоставлением является текстовый файл, который сопоставляет старый путь URI с новым путем URI, например файл сопоставления: /etc/apache2/xyz-to-www.txt

 ##
## xyz-to-www.txt — сопоставление старых URI с xyz.example.com с
## соответствующие URI на www.example.com
##
//xyz-is-deprecated.html
/страница1 /страница2
/страница2/страница3 /страница4/страница5
 

И тогда это сопоставит http(s)://xyz.example.co.uk/page1 с https://www.example.co.uk/page2 и все, что не сопоставлено, будет перенаправлено на страницу https://www.example.com/yz-is-deprecated.html :

 # новые минимальные записи VirtualHost для xyz. example.co.uk
<Виртуальный хост *:80>
    Имя сервера xyz.example.com
    RewriteMap xyz-to-www "txt:/etc/apache2/xyz-to-www.txt"
    RewriteRule "(.*)" "https://www.example.com${xyz-to-www:$1}" [R]

<Виртуальный хост *:443>
    Имя сервера xyz.example.com
    SSLCertificateFile "/etc/apache2/conf/ssl/xyz.example.com.crt"
    SSLCertificateKeyFile "/etcl/apache2/conf/ssl/xyz.example.com.key"
    RewriteMap xyz-to-www "txt:/etc/apache2/xyz-to-www.txt"
    RewriteRule "(.*)" "https://www.example.com${xyz-to-www:$1|/xyz-is-deprecated.html}" [R]

 

Примечание: все вышеперечисленное не проверено и предназначено только для иллюстрации концепций.

apache 2.4 — 301 Перенаправить все на другой домен, кроме поддомена

спросил

Изменено
4 года, 5 месяцев назад

Просмотрено
3к раз

Я пытаюсь перенаправить:

domain. com и www.domain.com
к
https://www.newdomain.com с переадресацией 301, кроме subdomain.domain.com .

Я пробовал разные методы, но они не работают. Я предполагаю, что мой физический путь поддоменов находится под httpdocs/subdomain/ хоста (например, domain.com/subdomain/)

Кроме того, я хотел бы www.domain.com/subdomain/ иметь свой .htaccess с полностью работающим mod_rewrite. Является ли это возможным? Как?

  • apache-2.4
  • мод-переписать

1

Кроме того, хотелось бы для www.domain.com/subdomain/ иметь свой .htaccess с полностью рабочим mod_rewrite. Является ли это возможным? Как?

Да, это возможно. Вы просто делаете то, что предлагаете, и включаете .htaccess в подкаталоге /subdomain .

This entry was posted in Популярное