Perca o %{DOCUMENT_ROOT}
nessa condição. %{REQUEST_FILENAME}
é o caminho completo do sistema de arquivos (não URL) para o arquivo, portanto, ele deve ser compatível assim:
RewriteCond %{REQUEST_FILENAME} !-f
Estou seguindo este tutorial para instalar o apache + unicórnio, mas parece que o apache não serve nenhum dos arquivos estáticos. Aqui está a configuração que eu criei (dê uma olhada no Redirect all non-static requests to unicorn
em particular):
<VirtualHost *:80>
ServerName www.unstilted.com:80
ServerAlias *.unstilted.com
DocumentRoot /var/www/unstilted/current/public
ErrorDocument 503 /system/maintenance.html
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{REQUEST_FILENAME} !/system/maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L]
# Rewrite to check for Rails non-html cached pages (i.e. xml, json, atom, etc)
RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{DOCUMENT_ROOT}/cache/%{HTTP_HOST}%{REQUEST_URI} -f
RewriteRule ^(.*)$ /cache/%{HTTP_HOST}$1 [QSA,L]
# Rewrite to check for Rails cached html page
RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{DOCUMENT_ROOT}/cache/%{HTTP_HOST}%{REQUEST_URI}.html -f
RewriteRule ^(.*)$ /cache/%{HTTP_HOST}$1.html [QSA,L]
# no www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1$1 [R=301,L]
<Proxy balancer://unicornservers>
BalancerMember http://127.0.0.1:5000
</Proxy>
# Redirect all non-static requests to unicorn
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L]
ProxyPass / balancer://unicornservers/
ProxyPassReverse / balancer://unicornservers/
ProxyPreserveHost on
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
No meu diretório /var/www/unstilted/current/public
, tenho robots.txt, mas quando vou para mydomain.com/robots.txt
, a solicitação vai para o unicórnio e não é tratada pelo apache.
O que há de errado com minha configuração? E como obtenho o Apache para servir os arquivos estáticos?
Obrigado!
Tags mod-rewrite apache-2.2 unicorn