Настройка редирект HTTPS + странные URL

  • Автор темы pashaiglesias
  • 1834
  • Обновлено
  • 16, Mar 2017
  • #1
Здравствуйте, люди добрые! Помогите решить проблему: VPS сервер CentOS 6.8 на ISP Manager 5.9, на нем 2 сайта и 1 поддомен, все сайты на одном IP.
  • site1.com
  • sub.site1.com
  • site2.ru


Проблема 1. На сайте site1.com в адресной строке показывается чёрти-что и при этом оно работает! Отдает код 200 и показывает контент Проблемы стали наблюдаться после подключения HTTPS (SSL) Для site1.com показываются любые URL:
http://site1.com

https://site1.com

http://www.site1.com

https://www.site1.com

Но самое неприятное, site1.com успешно показывает один и тот же контент под разными немыслимыми URL:
http://site1.com/1.html

https://www.site1.com/категория-site2.ru/а-последняя-часть-URL-с-сайта-site2.ru/

Получается сложенный из двух сайтов URL! Чертовщина какая-то... При этом для обоих этих адресов показывается одинаковый контент (!) Также в Яндекс.Вебмастере для site1.com стали показываться кривые URL с окончанием site2.ru, как на примере выше.
При этом если задать в адресной строке:
http://www.site1.com:443/

Ответ будет ещё более странным (site2.ru вместо site1.com):
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>400 Bad Request</title>

</head><body>

<h1>Bad Request</h1>

<p>Your browser sent a request that this server could not understand.<br />

Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />

Instead use the HTTPS scheme to access this URL, please.<br />

<blockquote>Hint: <a href="https://[COLOR="Red"][B]site2.ru[/B][/COLOR]/"><b>https://[COLOR="Red"][B]site2.ru[/B][/COLOR]/</b></a></blockquote></p>

<hr>

<address>Apache/2.2.22 (@RELEASE@) Server at site2.ru Port 443</address>

</body></html>
Дополнительные данные по виртуальным хостам Апача: В файле для site1.com прописано:
 <VirtualHost xxx.xxx.xxx.xxx:80>

ServerName site1.com
...
<VirtualHost xxx.xxx.xxx.xxx:443>

ServerName site1.com
...
 В файле для site2.ru прописано:
<VirtualHost xxx.xxx.xxx.xxx:80>

ServerName site2.ru
...
<VirtualHost xxx.xxx.xxx.xxx:443>

ServerName site2.ru
...
Везде одинаковый внешний IP-адрес. Не уверен, что это правильно, но так прописал ISP Manager. Проблема 2. Помогите настроить HTTPS редирект для site1.com в условиях наличия поддомена Нужно направить все возможные запросы на https://www.site1.com

А для поддомена направить на https://sub.site1.com

При этом, чтобы сайт и поддомен не конфликтовали из-за настроек .htaccess.
Прилагаю свой текущий .htaccess с сайта site1.com
 Options +FollowSymLinks

RewriteEngine On

#Работа субдомена

RewriteCond %{THE_REQUEST} /subdmn/[^/]

RewriteRule ^subdmn/[^/]+/(.*) /$1 [R=permanent,L]

RewriteCond %{HTTP_HOST} ^(.+)\.site1\.com$ [NC]

RewriteCond %{HTTP_HOST} !^www\.site1\.com$ [NC]

RewriteCond %{REQUEST_URI} !^/subdmn

RewriteRule ^(.*)$ /subdmn/%1%{REQUEST_URI} [L]

#Защита

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

RewriteRule .* index.php [F]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

#SEF настройки ядра CMS

RewriteCond %{REQUEST_URI} !^/index\.php

RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php [L]

pashaiglesias


Рег
16 Mar, 2017

Тем
1

Постов
1

Баллов
11
  • 29, May 2017
  • #2
У меня тоже есть проблемы с сайтом при переводе на новый протокол, в вебмастере Яндекса уже несколько месяцев висит 40% сайта на старом http, хотя редирект сделала правильно.
 

wlassta


Рег
21 Sep, 2015

Тем
3

Постов
196

Баллов
226
Тем
49554
Комментарии
57426
Опыт
552966

Интересно