我目前在使用JKMount和Alias进行apache配置时遇到问题。
我用JKMount挂载了我的应用程序
JkMount /app1/*.jsp app1
JkMount /app1/* app1
Run Code Online (Sandbox Code Playgroud)
我的本地文件系统上有一些静态映像。
如果网址类似于http://testapp.com/app1/capture/testImg.jpg,那么我必须从C:/capture/testImg.jpg提供图片。
为此,我使用了AliasMatch
AliasMatch /app1/capture/(.*)$ C:/capture/img/$1
Run Code Online (Sandbox Code Playgroud)
这里的问题是我不能与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>
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我解决上述问题
谢谢
我已经阅读了Apache Tomcat文档。
http://tomcat.apache.org/connectors-doc/webserver_howto/printer/apache.html
当jk和别名/ userdir URL匹配时,可以使用no-jk env var来解决mod_alias或mod_userdir指令的问题。
所以我的新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>
Run Code Online (Sandbox Code Playgroud)
一切对我来说都很好。
| 归档时间: |
|
| 查看次数: |
13873 次 |
| 最近记录: |