如何也通过https://开始子域获得相同的结果?

时间:2019-01-17 08:18:45

标签: wordpress .htaccess mod-rewrite dynamic wildcard-subdomain

我们需要将动态设置的通配符子域URL重写为WordPress .htaccess。在网络上浏览后,我得到了一个不错的结果,但是它只能与默认的http://一起使用,而不能与默认的https://一起正常使用。

此方法现在可以使用:

define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/' );

带有这些预标记,并且使用会员WP默认URL设置:

  

https://docs.affiliatewp.com/article/50-affiliate-urls

我正在使用以下代码动态获取用户的网页,以了解谁推荐了该网站的当前购买商品:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/sponsor/%1/$1 [L,NC,QSA]

例如,如果我打开以下URL,则上面的代码有效:

  

http://johndoe.mydomain.com

它保持动态,并在“ https://”位置自动打开。

但是,如果要打开此URL,例如它,则不起作用:

  

https://johndoe.mydomain.com

因为它没有获得/ sponsor / rewriteRule。

1 个答案:

答案 0 :(得分:0)

HTTPS问题非常普遍,可以通过将以下代码写入wp-config.php中来解决

if (isset($_SERVER["HTTP_X_FORWARDED_PROTO"] ) && "https" == $_SERVER["HTTP_X_FORWARDED_PROTO"] ) {
    $_SERVER["HTTPS"] = "on";
}

希望这可以解决您的问题。