CodeIgniter: URL amigáveis em subdiretórios

06/01/2009 | Autor: Tarmann | Em: Web | Sem comentários »

Há pouco mais de um mês brincando com o CodeIgniter, o framework PHP usado para desenvolver um de meus projetos, empaquei em um pequeno problema que envolve as URLs amigáveis.

Na documentação do framework encontramos a instrução de colocar o seguinte código no arquivo .htaccess para que o index.php seja removido das urls. Exemplo: http://seu-site.com/index.php/classe/funcao/ID poderá ser acessado via http://seu-site.com/classe/funcao/ID.

RewriteEngine on
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

O problema é que a instrução acima só funciona quando a aplicação roda na raiz do servidor. A solução é simples, substitua o conteúdo do mesmo arquivo .htaccess que está na raiz de sua aplicação pelo código abaixo.

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index.php|images|css|js|robots.txt|favicon.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Agora não importa em que pasta sua aplicação esteja, as URLs amigáveis vão funcionar corretamente.


Usando o plugin Gerenciador de Capas com o WordPress em outra pasta

16/10/2008 | Autor: Tarmann | Em: Web | Sem comentários »

Primeiramente devo elogiar a equipe que desenvolveu o excelente site do Ministério da Cultura que além de bem construído é completamente gerenciado em WordPress economizando uns bons trocados do suado dinheiro do contribuidor.

E se isso não bastasse, desenvolveram e distribuem gratuítamente um plugin, o Lead Manager, ou Gerenciador de Capas em português, que permite que você tenha total controle sobre a página inicial do seu blog, ou site desenvolvido em WordPress.

O plugin funciona muito bem nas versões 2.6.x, não sei como se comporta em versões anteriores.

Usando o plugin Gerenciador de Capas com o WordPress instalado em uma pasta diferente do blog

O plugin atualmente possui um pequeno bug que impede que ele funcione corretamente caso o diretório do wordpress seja diferente do site. Dei uma fuçada no código usando o firebug e descobri que ele não estava encontrando os arquivos de CSS e Javascript e que a referenciação da pasta estava incorreta.

A correção é bastante simples, substitua a template tag bloginfo(’url’) pela bloginfo(’wpurl’) nos arquivos covers_areas.php e covers_covers.php do plugin.

Inclusive deixei o feedback sobre na página do plugin e eles já responderam que vão implementar.

[update 16/12/2008] Ainda não implementaram a atualização e também não comentaram nada sobre o funcionamento na versão 2.7 do WordPress.