使用 htaccess 将所有页面重定向到另一个域

使用 htaccess 将所有页面重定向到另一个域

我正在尝试将我网站的所有流量从一个国家/地区重定向到一个子域。我使用以下方法来重定向流量。

RewriteEngine on
SetEnvIf CF-IPCountry "(.*)$" Country=$1
RewriteCond %{ENV:Country} ID
RewriteRule ^(.*)$ https://us.example.com/$1 [R,L]

ID 是国家代码,使用Cloudflare IP 地理位置对于相同的。

现在来谈谈我的问题。使用上述方法,只有主页被重定向,主域的子页面不会被重定向。我遇到了几种方法,需要手动输入每个页面的详细信息。有没有办法将所有子页面重定向到子域?

需要以下功能,

https://example.com/page-1/ ---------> https://us.example.com/page-1/
https://example.com/page-2/ ---------> https://us.example.com/page-2/

答案1

将它们粘贴在下面# BEGIN WordPress。......

这就是问题所在。这些指令必须取消WordPress前端控制器,否则,除了文档根目录(主页)或映射到物理文件的请求之外,它们将永远不会被处理。所有其他请求都将通过 WP 路由。

# Your directives go here...

# BEGIN WordPress
<IfModule mod_rewrite.c>
:

这是一个令人惊讶的常见陷阱。请参阅 WordPress Stack 上最近的相关问题: https://wordpress.stackexchange.com/questions/310761/redirect-to-https-not-working-with-htacess

相关内容