web-development-kb-pt.site

Wordpress sobrescreve as variáveis ​​GET, (page_id) definidas no HTACCESS 

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.

1
beseku

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.

2
MikeSchinkel