X

dump

webdev 5-10-08

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



Comentários
  1. 5/Outubro/08 à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. 5/Outubro/08 às 13:29

    Quem achar que não é capaz fica na mesma, lol. O importante é mesmo a cópia de segurança do .htaccess!



Reagir

Subscrever sem comentar.