Uma vez redirecionado pelas regras Reescrever, como o WordPress pode conhecer a página?

Estive procurando por algumas configurações de .htaccess, filtros e ganchos para tornar capaz de gerenciar o site interno uri’s. O objective foi fazer login, registrar e admin páginas através de SSL, e todas as outras páginas através de HTTP.

Embora possa ser fácil quando você tem o mesmo domínio para ambos, http e https, pode ser bastante difícil quando o domínio é diferente e até o PATH diferente (por exemplo: HTTP no mydomain.com/blog e HTTPS no domínio .sslserver.com).

Nem esta questão ( Usar um domínio diferente para SSL ) nem o HTTPS PlugIn , ajudaram a atingir esse objective com sucesso. Por esse motivo, comecei a fazer minha própria personalização aproveitando algumas outras informações.

O problema é que eu sou muito novo com o código WordPress, e tentando descobrir como o redirecionamento funciona, estou preso sem entender o redirecionamento interno do WordPress.

Então, minha pergunta: se o RewriteRule não passar no CAMINHO do permalink (por exemplo, um caminho para uma publicação ou uma categoria), e somente é rewrite para /index.php, como esse arquivo “sabe” qual é o perguntou post ou categoria?

Eu supor que, em alguma parte do código, precisaria usar $ _SERVER [“REQUEST_URI”] ou $ _SERVER [‘REQUEST_URI’] ou $ _SERVER [‘ORIG_PATH_INFO’] em algum lugar, já que funciona sem converter o PATH do permalink para um QueryString, e sem enviar nenhum dado POST ou GET.

Por favor, procurei algum tutorial dizendo o que está acontecendo e não encontrei nada com uma explicação clara e plana. Talvez existam muitas páginas de informações estreitas relacionadas e o Pesquisador não me mostra a página correta, talvez eu não esteja pesquisando corretamente, mas eu realmente preciso saber como isso funciona.

Obrigado!

Solutions Collecting From Web of "Uma vez redirecionado pelas regras Reescrever, como o WordPress pode conhecer a página?"

Eu expandirei minha pergunta com mais informações para uma melhor compreensão. Na pasta / testing / (o diretório do blog). O .htaccess básico mostra:

RewriteBase /testting/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /testting/index.php [L] 

Uma vez que o ‘www.domain.tld / testting / 2014/07 / hello-world /’ é chamado, ele reescreve ‘/ testting / 2014/07 / hello-world /’ para ‘/testting/index.php’, mas não passe ‘2014/07 / hello-world /’ como uma consulta; como outras regras .htaccess fariam -> como exemplo:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [L] 

Por esse motivo, não entendo como o ‘index.php’ pode conhecer o PATH ‘2014/07 / hello-world /’ (o post neste caso). E é por isso que eu suponho que o WordPress esteja usando $ _SERVER [‘REQUEST_URI’] ou $ _SERVER [‘ORIG_PATH_INFO’] em algum lugar. Porque ‘2014/07 / hello-world /’ não é passado através de POST ou GET (é?).

Antes de começar a aprender como os ganchos e os filtros estão funcionando, eu precisaria resolver esse problema básico. No entanto, como eu disse no início, não encontrei nenhuma documentação dizendo o que está acontecendo com ele.

Obrigado novamente!

Se eu entender o que você está procurando, é get_query_var( $var ) que retorna a get_query_var( $var ) dada passada pelo processo de reescrita.

http://codex.wordpress.org/Function_Reference/get_query_var

Aqui uma lista de WordPress Query Vars

http://codex.wordpress.org/WordPress_Query_Vars

Para fins de debugging, você pode obter uma lista de todos os query_vars usando:

 global $wp_query; var_dump($wp_query->query_vars); 

Atualizada

Insira o seguinte código em wp-content/themes/your-theme/functions.php :

 // Trigger an hook just before the current template is loaded add_action('template_redirect','all_my_vars_152651'); function all_my_vars_152651 () { global $wp_query; var_dump($wp_query->query_vars); } 

A análise do URL solicitado acontece no arquivo wp-includes/class-wp.php . A magia acontece a partir da linha 148 na function parse_request . Para permalinks de estilo de informação de caminho, $_SERVER['PATH_INFO'] é usado, para permalinks bonitos, $_SERVER['REQUEST_URI'] é usado.