Como posso configurar uma estrutura de permalink secundário?

Então eu tenho uma situação em um site onde eu preciso de várias estruturas de permalink. Agora, eu já sei o que você vai dizer porque, literalmente, todos os resultados do Google e SX que eu examinei dizem o mesmo: não faça isso; esta é uma má idéia; aqui sejam dragões; etc. Já ouvi tudo isso. Eu já resolvi a canonização do link e o og: url e SEO não é um problema.

A realidade é, no entanto, o cliente quer uma variação do site existente em um “subdiretório” que é a mesma estrutura de página, mas tem alguma lógica PHP dentro de arquivos de modelo. Então, é o mesmo conteúdo, mas a página parece um pouco diferente de acordo com as regras de negócios para o subconjunto de usuários que estarão acessando através desse URL diferente.

Então, com esse entendimento, qual é a melhor maneira de definir no WordPress que:

http://www.example.com/abc/ deve ser reescrito para http://www.example.com/

http://www.example.com/abc/about/ deve ser reescrito para http://www.example.com/about/

e assim por diante?

Eu atualmente tenho regras definidas manualmente usando add_rewrite_rule() :

 add_rewrite_rule('abc/?$','index.php?page_id=6','top'); add_rewrite_rule('abc/about/?$','index.php?page_id=9','top'); 

Mas isso não é sustentável. Eu gostaria de uma maneira de agir como aquelas chamadas add_rewrite_rule() , mas aplicar a todo o site, idealmente sem ter que passar e procurar cada URL individualmente a partir do database.

Reescreva apenas, os redirecionamentos não são aceitáveis.

Pensamentos?

Solutions Collecting From Web of "Como posso configurar uma estrutura de permalink secundário?"

Eu acho que encontrei uma solução para isso com uma function que não é comumente usada: add_permastruct() .

Isso faz o truque do que eu descrevi acima:

 add_rewrite_tag('%page%','([^/]+)', 'pagename='); add_permastruct('abc','/abc/%page%/',false); add_rewrite_rule('abc/?$','index.php?page_id=6','top'); 

O add_rewrite_tag() define o valor do nome do add_rewrite_tag() que eu quero que o WordPress procure. Então add_permastruct() define minha estrutura personalizada com esse valor.

A última regra é apenas lidar com a página principal manualmente.

Eu acredito que isso só funcionaria com um nível de hierarquia, mas posso voltar e ajustar a regex mais tarde para melhorá-la. Por enquanto, isso funciona para os meus propósitos.

O que você deseja e o que você precisa é de dois sites com duplicação de conteúdo, provavelmente em uma instalação multi-site. Enquanto você ainda precisa escrever algum código de duplicação, é muito mais fácil de desenvolver e depurar e é baixo em dragões.