PHP 使用 https 读取子域转发的脚本
PHP script that forwards by reading the subdomain WHILE using https
我有一个 php 脚本可以根据 url 中写入的子域转发用户。
现在,通常您会阅读 HTTP_URI,但我的虚拟主机正在使用 iframe,所以我必须阅读 HTTP_REFERRER。
现在问题来了,访问网站 "normal" 时,例如 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");
?>
..有人有什么建议吗?
重写不适用于此服务器上的子域。
将其用于 .htaccess 中的 https 重写
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/).*)$ / [L,NC]
说明here
如评论中所述,问题是 "blocked loading mixed active content"。
如果包含 iframe 的站点是通过 https 加载的,则无法通过 http 加载 iframe 或其内容。
我有一个 php 脚本可以根据 url 中写入的子域转发用户。
现在,通常您会阅读 HTTP_URI,但我的虚拟主机正在使用 iframe,所以我必须阅读 HTTP_REFERRER。
现在问题来了,访问网站 "normal" 时,例如 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");
?>
..有人有什么建议吗? 重写不适用于此服务器上的子域。
将其用于 .htaccess 中的 https 重写
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/).*)$ / [L,NC]
说明here
如评论中所述,问题是 "blocked loading mixed active content"。
如果包含 iframe 的站点是通过 https 加载的,则无法通过 http 加载 iframe 或其内容。