O controller do Zend Framework, Zend_Controller é projetado para dar suporte a websites com urls limpas. Para alcançar isso, todas as requisições precisam passar por um único arquivo
chamado index.php, conhecido como bootstraper. Isto nos provê um ponto central para todas
as páginas da aplicação e garante que o ambiente está configurado corretamente para rodar a
aplicação. Nós alcançamos isso usando um arquivo .htaccess no diretório raiz zf-tutorial:
zf-tutorial/.htaccess
RewriteEngine on
RewriteRule .* index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
A RewriteRule é muito simples e pode ser interpretada como “para qualquer url, redirecione
para index.php”.
Nós também setamos um par de diretivas php para segurança e sanidade. Estes valores já
deveriam estar setados corretamente no php.ini, mas nós queremos ter certeza disso. Note que
a flag php_flag no .htaccess só funcionará se você estiver usando mod_php. Se você usa
CGI/FastCGI, então você deverá se certificar que o seu php.ini está correto.
Porém, requisições para imagens, arquivos JavaScript e CSS não deverão ser redirecionados
para o nosso arquivo de inicialização. Mantendo estes arquivos dentro do subdiretório público,
nós podemos facilmente configurar o Apache para servir estes arquivos diretamente com outro
arquivo .htaccess em zf-tutorial/public:
zf-tutorial/public/.htaccess
RewriteEngine off
Apesar de não ser estritamente necessário, nós podemos adicionar mais um par de arquivos
.htaccess para garantir que nossos diretórios application and library estejam protegidos:
zf-tutorial/application/.htaccess
deny from all
zf-tutorial/library/.htaccess
deny from all
Note que para que os arquivos .htaccess sejam usados pelo Apache Note that for .htaccess , a
diretiva de configuração AllowOverride precisa estar setada como All no seu arquivo httpd.conf.
A idéia aqui apresentada de usar múltiplos arquivos .htaccess é do artigo Blueprint for PHP
Applications: Bootstrapping de Jayson Minard”.
Nenhum comentário:
Postar um comentário