使用WordPress重定向到相同的域名扩展

时间:2018-10-20 21:39:03

标签: wordpress apache .htaccess mod-rewrite

我有一个使用WordPress并托管在OVH上的具有三个不同顶级域(TLD)的域名。

我想使用HTTPS协议和<body> <div class="container align-items-center justify-content-center"> <div class="row justify-content-center"> <div class="col-10 text-center" > <h1 style="font-size:40pt;">Site in constructie</h1> <p>Ceva fain este in constructie!<br> Daca vrei sa fi intre primii care afla despre lansare<br> atunci introdu emailul tau si aboneaza-te!</p> </div> <div class="col-10 col-md-6 py-5"> <form id="subscribeForLaunch" class="input-group"> <input type="email" class="form-control email" style="background:rgba(255,255,255,0.8);" required="required" placeholder="Email" /> <button class="btn btn-info" onclick="subscribeRelease(); return false;">Submit!</button> </form> </div> </div> </div> 子域将它们中的每个重定向到.com

我通常使用以下代码示例将我的网站重定向到https://www.example.com

www

问题:

由于我使用的是WordPress,因此已经存在重定向。此外,我已经知道如何将TLD重定向正确地结合到https://www了。

这是WordPress的.htaccess代码。

RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

2 个答案:

答案 0 :(得分:1)

最快的解决方案(尽管不是最好的解决方案),通过修改htaccess

不是最好的方法,因为WP可以修改/覆盖htaccess。不再如此,因为WP使用this function仅重写了自己的htaccess部分({{ 1}}和# BEGIN WordPress)。只需在WP的主要规则之前添加。这是一个将所有条件合并为一条规则的示例:

# END WordPress

无需触摸htaccess的插件解决方案

您可以使用插件正确执行此操作。您可以通过在网络上搜索找到很多。

答案 1 :(得分:1)

WordPress的重写规则位于# BEGIN WordPress# END WordPress块之间:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
...
</IfModule>

# END WordPress

而WordPress usesinsert_with_markers()功能可确保WordPress仅更改自己的重写规则。

因此WordPress不会更改该块的外部之外的任何重写规则,因此您可以安全地将其添加到.htaccess文件中。

现在可以从一个域重定向到另一个域,以下对我来说效果很好:

# BEGIN Redirect to another domain name
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP_HOST} ^(www.)?(example.net|example.info|example.xyz) [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC]
</IfModule>

# END Redirect to another domain name

# Other rules here, if any.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
...
</IfModule>

# END WordPress