Excepção aos permalinks do wordpress
Ora aqui fica a dica simples, sem a qual com certeza muitos já batalharam com a frustração.
O wordpress tem por natureza aquilo a que se chamam “permalinks bonitos”, favoráveis ao SEO mas também à leitura humana. Os prefixos são obviamente personalizáveis, por exemplo passar o original “category” a “categoria” (ou cat como tenho aqui no dump…), e até aqui, em geral, tudo corre às maravilhas.
O problema que pode então surgir aos que têm o blog em servidor próprio é o de querer aceder a uma subpasta da instalação do wordpress e ser impedidos (ou antes, redireccionados) pelo sistema, ou por outras palavras, tendo o blog na pasta /blog não conseguir aceder a /blog/pasta/index.html ou mesmo incluir num script o ficheiro /blog/um/script/funcoes.php.
A razão para isto acontecer é muito simples: o funcionamento dos permalinks do wordpress baseia-se nas permissões do ficheiro .htaccess que se encontra ao lado do principal index.php da instalação. Assim, mesmo nunca tendo visto tal coisa, se editarmos este ficheiro, rapidamente percebemos que ele é quem gere todos os pedidos e redireccionamentos. Vamos então juntar uma excepção a estas regras:
Supondo que se deparam com algo parecido com isto:
1 2 3 4 5 6 7 | # BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress |
Vamos alterá-lo para:
1 2 3 4 5 6 7 8 9 10 11 | RewriteBase / RewriteRule o-link-para-a-pasta/?$ /a-pasta-real-ao-lado-do-index-e-htaccess/ [L] # FIM das EXCEPCOES # BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress |
É mesmo coisa simples de fazer, mas ainda assim devia ter começado por lembrar que é fundamental ter backups de segurança. Em caso de dúvidas não hesitem em reagir!
Convém também registar a alternativa que em certos casos talvez compense mais: utilizar páginas e templates específicos internamente ao wordpress (preferi htaccess pois a ideia seria mesmo integrar um script indepentende ao wordpress mas no mesmo domínio).