Вот мой vhost в apache 2.4:
<VirtualHost *:80>
ServerName mailcatcher.dev
Alias /mailcatcher.dev.png /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mailcatcher-0.5.12/public/images/logo_large.png
<Directory /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mailcatcher-0.5.12/public/images>
Order allow,deny
Allow from all
</Directory>
ErrorLog "/private/var/log/apache2/mailcatcher.dev-error_log"
CustomLog "/private/var/log/apache2/mailcatcher.dev-access_log" common
ProxyPass / http://127.0.0.1:1080/
ProxyPassReverse / http://127.0.0.1:1080/
</VirtualHost>
Я пытаюсь получить один URL http://mailcatcher.dev/mailcatcher.dev.png
преобразовать в файл, а все остальные запросы будут перенаправлены в интерфейс веб-почты. Якобы моя конфигурация в порядке согласно apachectl -t
; но файл не обслуживается, и в моем журнале доступа отображается 404 (ниже) (в журнале ошибок ничего нет).
::1 - - [18/Sep/2014:22:42:07 -0600] "GET /mailcatcher.dev.png HTTP/1.1" 404 135
Что я здесь не понимаю? Это должно работать согласно спецификация где говорится, что псевдоним может разрешить путь к файлу.
Это потому, что запрос /mailcatcher.dev.png
обратное проксирование в ваше бэкэнд-приложение как ProxyPass
директива имеет более высокий приоритет, чем Alias
Вам нужно добавить ProxyPass /mailcatcher.dev.png !
запись до ProxyPass / http://127.0.0.1:1080/