Почему мой псевдоним apache не работает?

Вот мой 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

Что я не получаю здесь? Это должно работать в соответствии со спецификацией, где говорится, что псевдоним может быть преобразован в путь к файлу.

1 ответ

Решение

Это потому, что запрос /mailcatcher.dev.png обратный прокси к вашему бэкэнд-приложению как ProxyPass Директива, как представляется, имеет более высокий приоритет, чем Alias

Вам нужно добавить ProxyPass /mailcatcher.dev.png ! запись до ProxyPass / http://127.0.0.1:1080/

Другие вопросы по тегам