Я пытаюсь перенаправить весь трафик на свой сайт из страны в субдомен. Я использую следующий метод перенаправления трафика.
RewriteEngine on
SetEnvIf CF-IPCountry "(.*)$" Country=$1
RewriteCond %{ENV:Country} ID
RewriteRule ^(.*)$ https://us.example.com/$1 [R,L]
ID - это код страны, используя IP-геолокация Cloudflare для того же.
Теперь перейдем к моему вопросу. При использовании вышеуказанного метода перенаправляется только домашняя страница, подстраницы моего основного домена не перенаправляются. Я наткнулся на несколько методов, в которых вы вручную вводили детали каждой страницы. Есть ли способ перенаправить все подстраницы в поддомен.
Нужна функциональность ниже,
https://example.com/page-1/ ---------> https://us.example.com/page-1/
https://example.com/page-2/ ---------> https://us.example.com/page-2/
наклеивая их ниже.
# BEGIN WordPress
...
Это проблема. Эти директивы должны быть перед WordPress фронт-контроллер, иначе они просто никогда не будут обрабатываться ни для каких запросов, кроме корневого документа (домашней страницы) или запросов, которые сопоставляются с физическими файлами. Все остальные запросы будут направляться через WP.
# Your directives go here...
# BEGIN WordPress
<IfModule mod_rewrite.c>
:
Это на удивление распространенная ошибка. См. Этот недавний связанный вопрос в стеке WordPress: https://wordpress.stackexchange.com/questions/310761/redirect-to-https-not-working-with-htacess