htaccess переписать два домена в один домен с помощью https, не-www и конечного каталога - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть два доменных имени с различным суффиксом, и я хотел бы сделать следующее:

  1. переписать все URL из домена2 в домен1.
  2. переписать все URL-адреса в URL-адреса, не относящиеся к www, и перенаправить их на domain1
  3. принудительная ссылка HTTPS
  4. Мне бы хотелось, чтобы правила также влияли на полный каталог, поэтому, например: http://www.domain2.net/shop/ будет переходить к https://domain1.com/shop/

Что у меня сейчас есть:

RewriteCond %{HTTP_HOST} ^domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteRule ^/?$ "https\:\/\/domain1\.com" [R=301,L]

Как вы видите, это частично делает то, что мне нужно, но мне трудно понять, как отключить весь каталог, кто-нибудь знает, знает ли кто-нибудь правильное решение?

1 Ответ

0 голосов
/ 06 ноября 2018

Предполагается, что это работает для пунктов 1, 2 и 3. Для элемента 4 вам нужно заключить в скобки часть шаблона, которую вы хотите использовать повторно в переписанной части, например:

RewriteCond %{HTTP_HOST} ^domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteRule ^(.*)$ "https://domain1.com/$1" [R=301,L]
  • ^(.*)$: начинается с чего-либо .*, до конца $ ". Обратите внимание, что .* также будет соответствовать пустой строке.
  • $1 заменит содержимое между круглыми скобками в части перезаписи.
  • Пример: http://domain2.net/TATA.html -> https://domain1.com/TATA.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...