2012-09-05 136 views
0

目前我正与JKMount和Alias Apache的配置问题。阿帕奇与JKMount和Alias

我安装我的应用程序与JKMount

JkMount /app1/*.jsp app1 
    JkMount /app1/* app1 

我在我的本地文件系统上有一定的静态图像。

如果URL像http://testapp.com/app1/capture/testImg.jpg然后我不得不从我的C服务形象:/capture/testImg.jpg。

为此,我使用AliasMatch

AliasMatch /app1/capture/(.*)$ C:/capture/img/$1 

这里的问题在连词与JKMount我不能使用AliasMatch。

如果我评论JKMount一部分,那么我可以访问图像。但我的应用程序不起作用。

如果我取消JKMount部分我的应用程序工作,但我不能访问图像。

这是我在httpd.conf

NameVirtualHost testapp.com 
    <VirtualHost testapp.com:80> 
     ServerName testapp.com 
    DocumentRoot "Z:\TestApp\app1\src\main\webapp\public" 
    AliasMatch /app1/capture/(.*)$ C:/capture/img/$1 
    #<Directory C:/capture/img/> 
    # Order Deny,Allow 
    # Allow from all 
    #</Directory> 
    RewriteEngine on 
     RewriteRule ^/(.*) http://testapp.com/$1 [R=301,L] 
    JkMount /app1/*.jsp app1 
     JkMount /app1/* app1 


    <Directory C:/capture/img/> 
    Order Allow,Deny 
    Allow from all 
    </Directory> 

     ErrorLog "z:\logs\apache_error_log" 
     CustomLog "z:\logs\log_custom" combined 
    </VirtualHost> 

配置中的任何一个可以帮助我与上述问题

感谢

回答

4

我已经通过Apache Tomcat文档不见了。

http://tomcat.apache.org/connectors-doc/webserver_howto/printer/apache.html

你可以使用无JK的环境变量与mod_alias中或mod_userdir指令时,JK和别名/用户目录中的网址匹配解决问题。

所以我的新httpd.config正在寻找这样

NameVirtualHost testapp.com 
<VirtualHost testapp.com:80> 
    ServerName testapp.com 
    DocumentRoot "Z:\TestApp\app1\src\main\webapp\public" 
    #AliasMatch /app1/capture/(.*)$ C:/capture/img/$1 

    RewriteEngine on 
    RewriteRule ^/(.*) http://testapp.com/$1 [R=301,L] 
    SetEnvIf Request_URI "/app1/capture/*" no-jk 
    Alias /app1/capture/ C:/capture/img/ 

    <Directory C:/capture/img/> 
     Order Allow,Deny 
     Allow from all 
    </Directory> 


    JkMount /app1/*.jsp app1 
    JkMount /app1/* app1 

    ErrorLog "z:\logs\apache_error_log" 
    CustomLog "z:\logs\log_custom" combined 
</VirtualHost> 

了我的一切工作正常。