dump

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).


6 comentários a Excepção aos permalinks do wordpress

  1. 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! :D

  2. 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!

  3. 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!

  4. dardna no dia 3 de Dez de 2008 às 14:44

    Ainda bem que foi útil!… Obrigado pelo feedback!

  5. 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!

Deixar uma resposta

Um trackback

  1. Controlar permalinks do wordpress - dump no dia 5 de Dez de 2008 às 21:31