Suporte » Desenvolvendo com WordPress » Header condicional com base em REQUEST_URI no WordPress

  • Olá, amigos,

    Estou tentando inserir headers HTTP condicionais com base no subdiretório informado pela variável REQUEST_URI.

    O primeiro objetivo é distinguir a homepage das demais páginas do site, com base no seguinte código no .htaccess:

    SetEnvIf Request_URI "^/$" is_homepage
    Header set a-homepage "Homepage" env=is_homepage
    Header set a-not_homepage "Não é homepage" env=!is_homepage

    Para distinguir subdiretórios específicos (no exemplo abaixo, /en/ e /es/), eu usei o seguinte no .htaccess:

    SetEnvIfNoCase Request_URI "^/(es|en)/$" is_directory
    Header set a-directory "Subdiretórios /es/ ou /en/" env=is_directory

    Para distinguir homepage OU subdiretórios, criei outra variável usando expressão regular:

    SetEnvIfNoCase Request_URI "^/(es/|en/)?$" is_home_dir
    Header set a-homepage_dir "Homepage OU subdiretórios escolhidos" env=is_home_dir

    Por fim criei este header para ter certeza de que o REQUEST_URI retornado era o desejado (e não “/index.php”, por exemplo)

    SetEnvIfNoCase Request_URI "^(.*)$" REQUEST_URI=$1
    Header set a-uri "%{REQUEST_URI}e"

    Tudo funcionou como previsto num teste com site estático em HTML. Reparem que o header “a-homepage-dir” baseado na expressão regular acima aparece tanto na homepage quanto no diretórios especificados, mas não em outros URLs do site.

    https://encantarse.com/ [aqui aparece o header a-homepage e o a-home-dir]
    https://encantarse.com/en/ [aqui aparece o header a-not_homepage e o header a-home-dir]
    https://encantarse.com/es/nice-post.html [aqui aparece o header a-not_homepage]

    Quando usei os mesmos headers condicionais num site <b>WordPress</b>, tudo funcionou <b>exceto o header</b> com base na expressão regular para incluir tanto a homepage quanto alguns subdiretórios:

    https://aptonocentro.com/ [aqui aparece o header a-homepage, mas não o a-home-dir]
    https://aptonocentro.com/en/ [aqui aparece o header a-not_homepage, mas não o a-home-dir]
    https://aptonocentro.com/es/subdirectorio-espanol/ [aqui aparece o header a-not_homepage]

    Reparem que em todos os casos aparece o header a-uri, com a uri repassada pelo Request_URI.

    Porque isso está acontecendo com o site WordPress? O que eu preciso fazer esse header condicional funcionar no WordPress?

    • Este tópico foi modificado 3 anos, 11 meses atrás por CB.

    A página que eu preciso de ajuda: [fazer login para ver o link]

  • O tópico ‘Header condicional com base em REQUEST_URI no WordPress’ está fechado para novas respostas.