Eu tenho um site wordpress que é extremamente grande e empurra o Wordpress para os seus limites. Ele usa um número de páginas/categorias e um monte de regras .htaccess para organizar as várias seções do site, (é para uma grande revista).
Uma questão em particular é realmente me enganar. Eu tenho as seguintes regras no .htaccess ...
RewriteRule ^(cat|tag)/([^\/]+)(/?)$ index.php?page_id=3&s1=$2 [L,QSA]
RewriteRule ^xyz/([^\/]+)(/?)$ index.php?page_id=6&s1=$1 [L,QSA]
Agora, se o argumento fornecido à página cat/tag não tiver barra final, isso sempre funcionará. Se o argumento tiver uma barra à direita, e a tag em questão corresponder às entradas em uma tabela que não seja Wordpress e que funcionem com a página 'xyz', Wordpress carrega essa página, mesmo se a tag estiver presente.
Eu testei que as regras sempre funcionam, e elas funcionam. O Wordpress está sempre obtendo o $ _GET ['page'] correto de 3 e o tag slug como $ _GET ['s1'], e ainda assim decide mostrar uma página completamente diferente se o acima for verdadeiro.
Tudo é feito dentro do .htaccess, permalinks no wordpress são desativados completamente. Como posso parar o formulário WP decidir contra o page_id que foi dito para usar.
O roteamento de URL do WordPress é realmente difícil de se trabalhar. Estou ansioso para o dia em que é substituído por algo mais racional (e espero que eu seja o único a escrever o código para substituí-lo, mas eu discordo ...)
No entanto, acho que seu primeiro problema é tentar fazer tudo em .htaccess
. Eu provavelmente tenho mais experiência com design de URL e reescrita de URL do que qualquer outra pessoa que conheço e realmente não tentaria combater o WordPress com .htaccess
; Você provavelmente só vai obter o tipo de resultados que atualmente estão deixando você louco. Em vez disso, eu tentaria gerenciar o roteamento de URL a partir do WordPress e usando ganchos para quando você precisa substituir algo que o WordPress está fazendo realmente errado.
No entanto, para eu entender completamente o que você está tentando realizar e prescrever uma solução adequada, eu gostaria de ver um mapa completo dos URLs que você tem em seu site e aqueles que você deseja.
Por fim, relacionei algumas perguntas e respostas relacionadas abaixo. Eles não estão respondendo diretamente a sua pergunta, mas eles podem lhe dar algumas dicas e o último é sobre escalar o WordPress para obter alto tráfego.