HTACCESS Перенаправить поддомен с www и без www на конкретную страницу в основном домене - PullRequest
0 голосов
/ 18 июня 2019

Я знаю, что было довольно много сообщений по этому вопросу, но я борюсь с тем, сколько существует вариантов с перенаправлениями HTACCESS, и все те, которые я пробую здесь, не делают то, на что я надеялся, так что, возможно, Вы можете помочь мне!

ЦЕЛЬ

www.shop.midwestsi.com

и

shop.midwestsi.com

Перенаправляет на:

www.midwestsi.com / supplies / (страница магазина)

В настоящее время (не www) перенаправляет, но (www) не делает и переходит на страницу не найдена ошибка.

Вот что у меня в файле HTACCESS / То, что я пытался безрезультатно.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^https://www\.shop\.midwestsi\.com
RewriteRule ^(.*)$ https://www\.midwestsi\.com/supplies/$1 [L]

Я также пытался перенаправить все под этим IP на основной домен (потому что загрузка домашней страницы лучше, чем страница с ошибкой), но это тоже не дало эффекта.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^160\.153\.43\.65
RewriteRule (.*) https://www.midwestsi.com/$1 [R=301,L]

Пробовал и это, но я все еще не получил изменений:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^shop\.midwestsi\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.shop\.midwestsi\.com$
RewriteRule ^en\/home\/?(.*)$ "https\:\/\/www\.midwestsi\.com\/$1" [R=301,L]

Спасибо за вашу помощь, если вы видите, что я здесь делаю не так!

1 Ответ

1 голос
/ 19 июня 2019

Это, вероятно, то, что вы ищете:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?shop\.midwestsi\.com$
RewriteRule ^/?(.*)$ "https://www.midwestsi.com/supplies/$1" [R=301,QSA]

Хорошей идеей будет начать с временного перенаправления 302 и изменить его только на постоянное перенаправление 301 позже, если вы уверены, что все настроено правильно. Это предотвращает проблемы с кэшированием при попытке ...

Это правило также будет работать в конфигурации хоста http-серверов или внутри файла динамической конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете динамический файл конфигурации, вам нужно убедиться, что его интерпретация вообще включена в конфигурации хоста и находится в папке хоста DOCUMENT_ROOT.

И общее замечание: вы всегда должны размещать такие правила в конфигурации хоста http-серверов, а не использовать файлы динамической конфигурации (".htaccess"). Эти динамические файлы конфигурации добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...