Estou tendo dificuldades com a diretiva .htaccess.
Eu estou tentando ter reescrita URL para o framework Codeigniter.
Tudo funciona como esperado no servidor de produção, mas não consigo configurar meu próprio servidor de teste.
Servidor de teste:
a regravação de url funciona muito bem, os arquivos php são renderizados como esperado, mas todos os arquivos incluídos via HTML (css, js, img) não são exibidos, pois não são acessíveis devido a:
403 Forbidden
You don't have permission to access /path/to/file/plugins-min.css
on this server.
aqui está o meu arquivo .htaccess:
RewriteEngine On
# Do not enable rewriting for files or directories that exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# For requests that are not actual files or directories,
# Rewrite to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]
esta é a configuração do apache2 para minha pasta de documentos:
<Directory /document/folder/>
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
AllowOverride All
Order deny,allow
Allow from all
</Directory>
quando eu defino AllowOverride
para None
, ou seja, não reescrevo URLs, os arquivos estáticos são mostrados corretamente.
Quando as imagens são carregadas via script, elas são mostradas na página, mesmo que tenham as mesmas permissões / proprietários / grupos dos outros arquivos que não são acessíveis.
Tudo tem as mesmas permissões e proprietários no site.
Espero que minha pergunta esteja clara o suficiente e eu esteja procurando uma maneira de fazer tudo funcionar conforme o esperado.
Acho que minha configuração do Apache tem algo que impede que os arquivos ' incluídos Html ' sejam acessados como o log de erros do Apache diz:
[Wed Aug 17 22:29:24 2011] [error] [client <MY IP>] client denied by server
configuration: /var/www/site.com/application/assets/js/admin.js,
referer: http://<MY IP>/site.com/page/edit/
Obrigado antecipadamente