Excepção aos permalinks do wordpress
Escrito no dia 5 de Outubro de 2008, por dardna em Webdev.
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).
Margaridaa no dia 5 de Out de 2008 às 11:26
Apeteceu-me sublinhar esta frase com um sorriso nos lábios : “é mesmo coisa simples de fazer!…”!
Está visto, tens em alta estima os passantes!
dardna no dia 5 de Out de 2008 às 13:29
Quem achar que não é capaz fica na mesma, lol. O importante é mesmo a cópia de segurança do .htaccess!
Johnny no dia 2 de Dez de 2008 às 14:47
Parabéns pelo post, estava necessitado desse assunto, eu nem sabia o que era .htaccess.
Obrigado, ajudou muito!
dardna no dia 3 de Dez de 2008 às 14:44
Ainda bem que foi útil!… Obrigado pelo feedback!
Paulo Cesar no dia 19 de Abr de 2009 às 18:49
Veja se pode me ajudar. Quero mudar minha estrutura de permalinks para
/%category%/%postname%. No entanto, mudo diretamente na ferramenta de administração do WordPress e dá erro, provavelmente porque não reescreví o .htaccess. Baixei seu plugin e instalei, mas infelizmente não estou sabendo como usá-lo. Você poderia me ajudar ?
Já tentei de todas as formas e não consigo encontrar o arquivo . htaacess para editá-lo.
Obrigado!
dardna no dia 19 de Abr de 2009 às 19:14
Boas Paulo,
qual o erro devolvido pelo WordPress quando tentas alterar a estrutura de permalinks?
O ficheiro .htaccess está ao lado do principal index.php da instalação.
Não me parece que o problema descrito esteja relacionado ou possa ser resolvido pelo plugin (espero que te refiras ao WP htaccess Control).
Enfim, só posso ajudar com mais informação.