У меня есть скрипт php, который перенаправляет пользователя в зависимости от того, что субдомен написал в URL.
Обычно вы читаете HTTP_URI, но мой веб-хост использует iframe, поэтому я должен прочитать HTTP_REFERRER.
Теперь к проблеме, при доступе к сайту «нормальный», например, mysite.com или
он работает нормально, однако, при использовании https, он показывает только белую страницу.
Это мой код:
<?PHP
$REFERRER = $_SERVER['HTTP_REFERER'];
// Or other method to get a URL for decomposition
$domain = substr($REFERRER, strpos($REFERRER, '://')+3);
$domain = substr($domain, 0, strpos($domain, '/'));
// This line will return 'en' of 'en.example.com'
$subdomain = substr($domain, 0, strpos($domain, '.'));
//Echo $subdomain;
header("Location: https://example2.com/'$subdomain");
?>
.. У кого-нибудь есть предложения?
Перезапись не работает на поддоменах на этом сервере.
Как отмечалось в комментариях, проблема заключается в «заблокированной загрузке смешанного активного контента».
Iframe или его содержимое не могут быть загружены через http, если сайт, содержащий iframe, загружен через https.
используйте это для переписывания https в вашем .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
# rewrite to HTTPS:
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
и вы можете использовать это для поддоменов
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
RewriteRule ^((?!sub1/).*)$ /$1 [L,NC]
объяснение Вот