这是我在 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>
我尝试将一个 URLhttp://mailcatcher.dev/mailcatcher.dev.png
解析为一个文件,并将所有其他请求转发到 Webmail 界面。据称我的配置根据 是没有问题的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/